我有一个用于安排某些事件的应用程序。所有这些事件必须在每个计划的时间后进行审查。SQL:优化日期时间字段上的密集型选择
所以基本上我们有3个表:
- 项目(ID,姓名)
- scheduled_items(
id
,item_id
,execute_at
- 日期时间) - ITEM_ID列有索引选项。 - reviewed_items(
id
,item_id
,created_at
- datetime) - item_id列有一个索引选项。
因此,该应用程序的核心功能是“给我任何项目(尚未审查)的实际时刻”。
我该如何优化此解决方案速度(因为它是非常核心的业务功能而不是微型优化)?
我认为将索引添加到日期时间字段没有任何意义,因为该字段的基数或唯一性非常高,并且索引不会给出任何(?)加速。这是对的吗?
你会推荐什么?我应该尝试不使用SQL吗?
-
mysql -V
5.075
我使用缓存(Memcached的),其中它使SENCE。
已更新。
你使用什么类型的缓存,memcached或反向代理? – 2010-04-24 08:56:02
我使用memcached。 – ep3static 2010-04-24 09:00:48
高基数意味着数据非常有选择性,并且索引肯定会有所帮助。它是低基数列,它不会被使用。 – 2010-04-24 09:33:06