Tach!
Es kann hier nämlich kein Index benutzt werden, wie es bei "between" möglich wäre.
Hä? ID ist einer der schnellsten Indexe.
Wenn du für die Selektion von Datensätzen eine Formel im WHERE hast, muss diese für jeden Datensatz einzeln berechnet werden. Es gibt keine Indexe mit berechneten Ausdrücken (in MySQL).
Zum Beispiel beim Suchen nach Datümern, sollte man nicht heute < Datumsfeld - 7 Tage
als Bedingung nehmen, sondern heute + 7 Tage < Datumsfeld
um die nächsten 7 Tage mit zu berücksichtigen. Der Wert heute + 7 Tage
kann dann einmalig berechnet werden und muss nur noch gegen den Index auf dem Datumsfeld geprüft werden (also, wenn da ein Index ist). Ansonsten hätte jedes Datumsfeld erst berechnet werden müssen, um verglichen werden zu können.
dedlfix.