Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abrufen von Daten aus MYSQL basierend auf der Wochennummer

nicht Verwenden Sie so etwas wie WHERE WEEK(column)=something - Dies ist ein Performance-Killer:Es berechnet die Wochennummer für alle Zeilen, auch wenn sie nicht übereinstimmen. Außerdem wird es unmöglich, einen Index für diese Spalte zu verwenden.

Berechnen Sie stattdessen abhängig von Ihrem Datentyp ein absolutes Anfangs- und Enddatum oder einen absoluten Zeitpunkt und verwenden Sie dann BETWEEN . Dies führt keine Berechnungen für nicht übereinstimmende Zeilen durch und ermöglicht die Verwendung eines Index.

Faustregel:Wenn Sie die Wahl zwischen einer Berechnung auf einer Konstanten und auf einem Feld haben, verwenden Sie ersteres.