#mysql #select #time #timestamp
#mysql #выберите #время #временная метка
Вопрос:
Я пытаюсь «ВЫБРАТЬ» временной диапазон, игнорируя часть даты в поле «Временная метка» (09-09-11 10: 23:03).
Приведенный ниже запрос работает, но имеет огромные затраты на производительность…
SELECT * FROM Table WHERE Time LIKE '10:09:13'
Какой самый быстрый способ сделать это в таблице с 1/2-1 миллионами строк без использования команды «LIKE»?
Ответ №1:
SELECT * FROM Table WHERE TIME(Time) = '10:09:13'
Это должно сработать.
Комментарии:
1. Вау, это работает намного быстрее, чем ХОТЕЛОСЬ бы. Спасибо за ваш быстрый ответ.
2.
LIKE
полагался на неявное приведение вашегоTIMESTAMP
кVARCHAR
, что является дорогостоящим. Этот параметр использует естественный тип временной метки, следовательно, работает быстрее.