【发布时间】:2013-01-14 22:46:47
【问题描述】:
在我当前的项目中,我正在尝试检查 MySQL 数据库:MySQL 数据库由另一个程序更新,因此我的 C++ 程序只需要选择新行。它不会是一个小表(>10000 行),所以我不想搜索每一行。即检查像 isNew=0 或 =1 这样的列。我已经找到了:
Query to find tables modified in the last hour
http://www.codediesel.com/mysql/how-to-check-when-a-mysql-table-was-last-updated/
但是,在此示例中,您只能获取已更新的表。如何仅从表中选择新行?
【问题讨论】:
-
如果您经常需要这样做,为什么不使用
is_new或inserted_datetime列,并在该列上建立索引? -
我不认为你可以在你的例子中。您可能会做一个 hack 让您的程序检查复制日志或其他东西并从那里获取您的信息。但是 10000 行对于 MySQL 来说确实不是一个很大的表。
-
额外的
isNew列或更好的时间戳列有什么问题?搜索 10,000 行对 mysql 来说是小菜一碟。 -
那么,直到有多少行是 mysql 的一个选项?
-
@Rogier “直到多少”...这个问题只有你才能回答。当它对你来说太慢时,它就不再是一种选择了。