capypad
0 Tage Serie
sql / expert
Snippet

SARGable Prädikate zur Index-Optimierung

SARGable (Search ARGumentable) Abfragen ermöglichen es der Engine, Index-Seeks anstelle von vollständigen Scans durchzuführen. Indem die Spalte direkt mit einem Bereich verglichen wird, statt sie in eine Funktion wie EXTRACT einzuschließen, kann die Datenbank die B-Tree-Indexstruktur effizient nutzen.

snippet.sql
sql
1
2
3
4
5
SELECT order_id
FROM Orders
WHERE order_date >= '2023-01-01'
AND order_date < '2023-02-01';
-- AVOID: WHERE EXTRACT(MONTH FROM order_date) = 1
Erklärung
1
WHERE order_date >= '2023-01-01'
Bietet einen klaren Startpunkt für eine Index-Seek-Operation.
2
AND order_date < '2023-02-01'
Definiert die Obergrenze ohne Transformation der Spaltendaten, wodurch die SARGability erhalten bleibt.