2014-01-07 45 views
0

我有一個包含日期列的mysql表。我在桌上有大約800,000行,所以我想索引。最常見的搜索是:如何在日期列上創建索引

Select X,Y,Z from table where dateField='yyyy-mm-dd'; 

日期是標準的mysql yyyy-mm-dd格式。

我想創建什麼類型的索引?

CREATE INDEX 2013- ON customer (date(10)); 

CREATE INDEX 201 ON customer (date(10)); 

還是我的方法了嗎?

我是新來索引,所以任何幫助將是偉大的。

回答

2

只需在dateField上添加索引併爲其指定一個簡單的名稱,例如列名。

例如:

alter table your_table 
    add index dateField (dateField); 
+0

我這樣做,當我解釋select語句,可能從行890k下降到573K。似乎沒有太多的優化。 – bart2puck

+0

我確實看到key_len是14.這對於索引似乎非常高,我應該減少它嗎? – bart2puck

+0

你的日期字段的數據類型是什麼?如果它是'日期'列,那麼key_len應該是3. –