Hallo zusammen,
in einer Tabelle (~4 GB, mysql, inndodb) führe ich Suchvorgänge aus.
Index ist gesetzt, Suche dauert in folgender Konstellation 16ms:
In selbiger Tabelle befindet sich auf ein Uhrzeit - Offset (GMT +1, +2, etc., in der Tabelle als Tinyint gespeichert).
Führe ich die Suche anhand dieses Offsets durch, dauert die Suche ~ 1 Sekunde.
Bedeutet dies, dass das Feld offset Bestandteil des Indizes sein muss, damit die Suche schnell verläuft?
Bzw. muss jedes Feld, mit dem Berechnungen angestellt werden, Bestandteil des Indizes sein?
Ich stelle diese Frage bewusst vorab, da das Neusetzen des Indizes gut eine Stunde dauert und dann erstmal "nichts mehr geht".
Dank und Gruß
Boris
in einer Tabelle (~4 GB, mysql, inndodb) führe ich Suchvorgänge aus.
Index ist gesetzt, Suche dauert in folgender Konstellation 16ms:
Code:
.... between date_add('2015-03-02 0:0:00',INTERVAL - 1 hour) AND date_add('2015-03-04 0:0:00',INTERVAL - 1 hour) ....
Führe ich die Suche anhand dieses Offsets durch, dauert die Suche ~ 1 Sekunde.
Code:
.... between date_add('2015-03-02 0:0:00',INTERVAL - `offset` hour) AND date_add('2015-03-04 0:0:00',INTERVAL - `offset` hour) ....
Bzw. muss jedes Feld, mit dem Berechnungen angestellt werden, Bestandteil des Indizes sein?
Ich stelle diese Frage bewusst vorab, da das Neusetzen des Indizes gut eine Stunde dauert und dann erstmal "nichts mehr geht".
Dank und Gruß
Boris
Kommentar