ja po prostu znaleźć mysql może zapytać datetime przy użyciu takich jak:mysql pola datetime z indeksu uzyskać szereg „jak” vs. „pomiędzy” i osiągi
like '2013-06-12%'
myślę, że nie można korzystać z indeksu. I Google to, ale nie mogę znaleźć takiego tematu bezpośrednio. Więc mam test używając tabeli z 3308614 rekordami. Pierwszy SQL:
Wszystko, co wiemy, ten SQL nie może korzystać z indeksu i uzyskanie wyniku trwa 4 sekundy. Drugi SQL:
SELECT * FROM subscription t WHERE t.active_time LIKE '2013-06-30%';
ja nie wiem, czy to może skorzystać z indeksu, ale to trwa 4 sekundy zbyt. Trzeci SQL:
SELECT * FROM subscription t WHERE t.active_time > '2007-11-30' AND t.active_time < '2007-12-01';
Wiemy trzeci SQL może skorzystać z indeksu, a to trwa 0,016 sekundy.
Więc myślę, że "jak" nie może używać indeksu podczas kwerendy pola datetime, ponieważ mysql powinien konwertować pole datetime na ciąg pierwszy i wysłać ciąg znaków do polecenia. Czy to prawda?
"Czy to prawda?" --- yp – zerkms
możesz zapytać o datę i jak to 't.active_time = '2013-06-30'' – Justin
NIE może używać t.active_time =' 2013-06-30 '!! – bluearrow