Einen Jahresfilter so umschreiben, dass der Index tatsächlich greift
Die ursprüngliche Abfrage formuliert den Jahresfilter als „extrahiere das Jahr aus created_at und vergleiche es mit 2024“. Das Problem: Die Spalte ist in eine Funktion gepackt, der Planer kann den Index auf created_at nicht nutzen und fällt auf einen vollständigen Tabellen-Scan zurück.
Schreibe den Filter als Datumsbereich um, damit der Planer den B-Tree-Index erkennen und verwenden kann (diese Form der Bedingung wird „sargable“ genannt). Gib die id, die Gesamtsumme und das Erstellungsdatum der im Jahr 2024 aufgegebenen Bestellungen zurück und sortiere nach id.
Beispiel der erwarteten Ausgabe
So sieht eine korrekte Antwort aus — ihre Zeilenanzahl ist eigenständig und muss nicht mit den Schematabellen übereinstimmen.
| id | total | created_at |
|---|---|---|
| 1 | 100 | 2024-01-05T00:00:00+00:00 |
| 2 | 150 | 2024-01-12T00:00:00+00:00 |
| 3 | 200 | 2024-01-20T00:00:00+00:00 |
Melde dich an, um den Einreichungsverlauf zu sehen
AnmeldenMelde dich an, um den KI-Mentor zu nutzen
Anmelden