我有一个相当“活跃”的 CDR 表,我想在最后 5 分钟内每隔 5 分钟从中选择一次记录。问题是它在其他一些列上生成了一个 SHA ID,所以我所依赖的只是一个时间戳字段,我通过该字段按日期过滤以选择我想要的记录的时间窗口。
下一个问题是,显然我不能保证我的脚本每次都能精确运行,或者服务器的挂钟是正确的(这没关系),最重要的是几乎肯定会有不止一个记录每秒说 3 行 '2013-08-08 14:57:05' 并且在第二个过期之前可能会再插入一个。
到 '2013-08-08 14:57:05' 并获取记录BETWEEN '2013-08-08 14:57:05' AND '2013-08-08 15:02:05'
时,我会错过更多的 '2013-08-08 14:57:05' 记录。
本质上:
- 不精确的挂钟时间
- 没有顺序 ID
- 每秒多条记录
- 查询执行时间
- 运行查询的频率不可靠
都在阻止我在指定的滚动时间窗口中获得一组有效的行。关于如何解决这些问题的任何建议?