2014-01-07 4 views
0

У меня есть таблица mysql, которая имеет столбец даты. У меня около 800 000 строк в таблице, поэтому я хочу индексировать. Наиболее распространенный поиск будет:Как создать индекс в столбце даты

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

дата в стандартном формате MySQL гггг-мм-дд.

какой тип индекса я хочу создать?

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

Я сделал это, и когда я объяснить оператор выбора, возможные строки капли от 890k до 573K. Не похоже на оптимизацию. – bart2puck

+0

Я видел key_len 14. Это кажется ужасно высоким для индекса, я должен его уменьшить? – bart2puck

+0

Каков тип данных вашего поля даты? Если это столбец «date», тогда key_len должен быть 3. –

Смежные вопросы