假设我的查询全部运行15分钟 我只需要知道自上次提取以来结果数据是否已被修改 所以我想从结果中得到哈希值才能比较 我知道如何散列单个记录,但我不知道为多个记录做这个。
答案 0 :(得分:1)
为什么不智能地使用时间戳,而不是比较哈希?表中的每条记录都可以有created_at和updated_at属性。插入新记录时设置created_at。更新记录时更新updated_at。
每次获取数据时,都会将当前时间戳记录为TS。要查看是否有任何新记录可用于下一次提取,请运行:
select count(*) from table where created_at>TS or updated_at>TS
计数操作相对便宜。
答案 1 :(得分:0)
TRIGGER似乎是最接近的解决方案