MySQL-散列整个查询集
假设我有一个查询运行了15分钟。MySQL-散列整个查询集,mysql,hash,Mysql,Hash,假设我有一个查询运行了15分钟。 我只需要知道自上次提取后,结果数据是否已被修改。 因此,我想从结果中得到一个哈希值,以便能够进行比较。 我知道如何散列单个记录,但我不知道如何对多个记录进行散列 散列整个查询集是最佳做法吗 我怎么做 与其比较哈希,为什么不智能地使用时间戳呢?表中的每条记录都可以有一个created_at和updated_at属性。在插入新记录时设置created_at。更新的\u at在更新记录时更新 每次获取数据时,您都将当前时间戳注册为,例如TS。要查看是否有任何新记录可
我只需要知道自上次提取后,结果数据是否已被修改。
因此,我想从结果中得到一个哈希值,以便能够进行比较。
我知道如何散列单个记录,但我不知道如何对多个记录进行散列
- 散列整个查询集是最佳做法吗
- 我怎么做
select count(*) from table where created_at>TS or updated_at>TS
计数操作相对便宜。触发器似乎是最接近的解决方案您可以添加其他表来跟踪MySQL的
触发器
s的更改。我考虑过这一点,但如果删除了一行,该怎么办?@Glide-在某个地方保持行计数?如果删除一行并添加一行,您将拥有相同的行数另外,嗯,没错。保留行数和最高ID?如果查询的范围不是最新行的一部分,则最新ID不会告诉您该范围中是否有已删除的行。