#821

Ξαναγράψε ένα φίλτρο έτους ώστε να ενεργοποιηθεί πραγματικά το index

Το αρχικό ερώτημα εκφράζει το φίλτρο έτους ως «εξάγαγε το έτος από το created_at και σύγκρινέ το με το 2024». Το πρόβλημα: η στήλη είναι τυλιγμένη σε μια συνάρτηση, ο planner δεν μπορεί να χρησιμοποιήσει το index του created_at και καταφεύγει σε πλήρη σάρωση πίνακα. Ξαναγράψε το φίλτρο ως εύρος ημερομηνιών ώστε ο planner να μπορεί να εντοπίσει το b-tree index και να το αξιοποιήσει (αυτή η μορφή συνθήκης ονομάζεται «sargable»). Επίστρεψε το id, το σύνολο και την ημερομηνία δημιουργίας των παραγγελιών που έγιναν το 2024, ταξινόμησε κατά id.

Δείγμα αναμενόμενης εξόδου

Έτσι μοιάζει μια σωστή απάντηση — το πλήθος γραμμών της είναι δικό της, δεν χρειάζεται να ταιριάζει με τους πίνακες του σχήματος.

idtotalcreated_at
11002024-01-05T00:00:00+00:00
21502024-01-12T00:00:00+00:00
32002024-01-20T00:00:00+00:00

Το αποτέλεσμα του ερωτήματός σας θα εμφανιστεί εδώ