sql / expert
Snippet
SARGable Prädikate zur Indexoptimierung
Experten-Performance-Tuning erfordert 'Search Argumentable' (SARGable) Abfragen. Anstatt Funktionen wie YEAR(order_date) zu verwenden, die die Indexnutzung verhindern, nutzen wir einen Bereichsvergleich. Dies ermöglicht der Datenbank-Engine einen Index-Seek anstelle eines vollständigen Tabellenscans.
snippet.sql
1
2
3
4
5
SELECT order_id, customer_idFROM ordersWHERE order_date >= '2023-01-01'AND order_date < '2024-01-01'AND status = 'COMPLETED';
Erklärung
1
WHERE order_date >= '2023-01-01'
Liefert eine Untergrenze, die der Query-Optimizer für den Index-Durchlauf nutzen kann.
2
AND order_date < '2024-01-01'
Liefert eine Obergrenze, ohne die Spalte in eine Funktion einzuschließen, wodurch die SARGability erhalten bleibt.