我有一個用於安排某些事件的應用程序。所有這些事件必須在每個計劃的時間後進行審查。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