【发布时间】:2011-07-10 12:51:09
【问题描述】:
我有一张桌子,每分钟大约有 10-15k 个条目。每一个都标有进入时的当前时间戳。该表是MEMORY 表,因为丢失数据不是问题。
每分钟,我都有一个运行以下查询的脚本:
DELETE FROM tracker WHERE post_time < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
这个查询运行大约需要 1-2 秒,这还不错,但似乎这种类型的查询(删除所有早于X 的内容)在针对MEMORY 表。它还对 CPU 有一个相应的尖峰,每分钟都像拇指酸痛一样伸出来。
我可以对我的查询进行任何优化以更有效地运行此查询吗?
【问题讨论】:
-
时间戳列有索引吗?
-
最终你可以用 PHP 计算时间?
标签: mysql performance