ich mysql nur finden kann Datetime-Abfrage wie:mysql Datetime-Feld mit dem Index eine Reihe ‚wie‘ vs. bekommen "zwischen und Leistung
like '2013-06-12%'
Ich denke, es den Index nicht nutzen kann. Ich google es, aber kann solches Thema nicht direkt finden. Also habe ich einen Test mit einer Tabelle mit 3308614 Datensätze. Das erste SQL:
Alles, was wir wissen, dieses SQL kann den Index nicht verwenden und es dauert 4 Sekunden, um das Ergebnis zu erhalten. Die zweite SQL:
SELECT * FROM subscription t WHERE t.active_time LIKE '2013-06-30%';
Ich weiß nicht, ob es den Index verwenden, aber es dauert 4 Sekunden zu. Die dritte SQL:
SELECT * FROM subscription t WHERE t.active_time > '2007-11-30' AND t.active_time < '2007-12-01';
Alle wissen, dass wir das dritte SQL den Index verwenden können, und es dauert 0,016 Sekunden.
Also ich denke, "wie" kann den Index nicht verwenden, wenn Sie das datetime-Feld abfragen, weil mysql datetime Feld in Zeichenfolge zuerst konvertieren und die Zeichenfolge an ähnliche Befehl senden sollte. Ist das korrekt?
"Ist das korrekt?" --- yep – zerkms
Sie können Datum abfragen und wie dieses 't.active_time = '2013-06-30'' – Justin
kann nicht verwenden t.active_time =' 2013-06-30 '!! – bluearrow