Frage

Wird es ein wirklicher Nutzen sein, um mich Indizes auf Datumsfelder setzen, die vor allem in Abfragen verwendet werden wird mit Sachen wie.

dateField < 'var'

Und

'var' BETWEEN dateField1 AND dateField2

Die Durchsuchungen viel zu erledigen, aber ich bin nie einen direkten Vergleich „=“ auf sie zu tun.

War es hilfreich?

Lösung

Ja, natürlich. Bereichssuchen werden von einem Index profitieren, ebenso wie Gleichheit sucht.

Zitiert aus dem MySQL Referenzhandbuch :: Wie MySQL Indizes benutzt :

  

B-Baum-Index Merkmale

     

Ein B-Baum-Index für Spalt Vergleiche in Ausdrücken verwendet werden, dass die Verwendung =,>,> =, <, <=, oder zwischen den Betreibern. Der Index kann auch für LIKE Vergleiche verwendet werden, wenn das Argument wie eine konstante Zeichenfolge, die nicht mit einem Platzhalter-Zeichen beginnt.

In einigen Situationen kann der Optimierer entscheiden, den Index nicht zu verwenden, wenn der Bereich zu groß sein wird, am Ende, wie ein Tabellenscan tatsächlich schneller sein könnte. Verwenden Sie EXPLAIN zu sehen, welche (falls vorhanden) Indizes verwendet werden auf Ihre Anfrage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top