Intelligent Query Processing verbessert: Weniger manuelle Indexarbeit – bessere Performance im SQL Server 2025

Warum ich IQP ernst nehme

Als Datenmensch willst Du keine Zeit mit unnötigen Indexspielchen verschwenden.
Du willst, dass die Engine Deine Abfragen versteht – auch wenn die Statistiken mal nicht ganz aktuell sind.
SQL Server 2025 macht hier einen großen Sprung.
Weniger Handarbeit, bessere Laufzeiten, stabilere PlÀne.

Was ist Intelligent Query Processing?

Eine Sammlung smarter Optimierungen, die die Engine automatisch anwendet.
Du musst nichts umstellen.
Du musst nur auf SQL Server 2025 sein und kompatibilitÀtslevel 160+ setzen:

ALTER DATABASE [meinDB] SET COMPATIBILITY_LEVEL = 160;

Was ist neu in 2025?

Verbesserte adaptive Join-Auswahl

  • Nested Loop vs. Hash Join wird besser eingeschĂ€tzt – auch bei kleinen Rowsets.
  • LĂ€uft jetzt auch bei mehrstufigen JOINs.

Batch Mode auf Rowstore weiter optimiert

  • Jetzt auch bei Aggregationen ohne GROUP BY
  • Weniger Sort-Spills

Feedback Mechanismen reifen

  • Cardinality Feedback merkt sich wiederkehrende Probleme
  • Plan Feedback wird persistenter – auch nach Neustarts

1. Adaptive Joins in Aktion

FrĂŒher: Du musstest den besten Join-Typ „erraten“.
Jetzt:

SELECT *
FROM kunden k
JOIN bestellungen b ON k.kundennr = b.kundennr
WHERE b.status = 'offen';

Der Optimizer entscheidet je nach geschÀtzter UND tatsÀchlicher Zeilenanzahl.
Du siehst es im AusfĂŒhrungsplan als:

Adaptive Join (If <= 100 Rows: Nested Loop, else: Hash Join)

2. Batch Mode auf Rowstore

FrĂŒher nur fĂŒr Columnstore, jetzt auch fĂŒr klassische Tabellen.
Beispiel:

SELECT ort, COUNT(*) AS anzahl
FROM kunden
WHERE aktiv = 1
GROUP BY ort;

Wenn kunden eine große Rowstore-Tabelle ist, bekommst Du trotzdem Batch Mode.
Das spart CPU und IO.
Gut messbar bei >100.000 Zeilen.

3. Memory Grant Feedback

Kennst Du die Situation?

SELECT * FROM artikel WHERE bezeichnung LIKE '%filter%';

Einmal lĂ€uft’s in 0.1 Sekunden.
Dann auf einmal 8 Sekunden wegen Sort-Spill.
Jetzt merkt sich der Server den Speicherbedarf und passt den Plan automatisch an.

SELECT * FROM sys.dm_exec_query_memory_grants
WHERE ideal_memory_kb > granted_memory_kb;

Hilft bei instabilen Reports und Excel-Auswertungen.

4. Plan Correction & Persistenz

Neu in 2025:
Fehlgeschlagene PlĂ€ne können automatisch ersetzt werden – dauerhaft.

SELECT * FROM sys.query_store_plan_feedback;

Du kannst das Feedback jetzt auch fĂŒr einzelne Abfragen explizit deaktivieren:

ALTER DATABASE SCOPED CONFIGURATION
    SET QUERY_STORE_FEEDBACK = OFF;

Oder in DEV-Umgebungen gezielt simulieren.

5. Realistische Cardinality Estimation

Besonders bei OR-Bedingungen oder komplexen IN (...):

SELECT * FROM kunden
WHERE ort IN ('Hamburg', 'LĂŒbeck') OR status = 'neu';

SQL Server 2025 kombiniert jetzt Wahrscheinlichkeiten besser.
Weniger 1 Zeile oder 1 Million. Mehr RealitÀt.

6. Neue DMV zur Analyse

Neu in 2025:

SELECT *
FROM sys.dm_exec_query_feedback_stats
WHERE database_id = DB_ID();

Hier siehst Du, welche Queries wie oft korrigiert wurden – und ob es was gebracht hat.

7. Mein pragmatischer Ansatz

  • Ich prĂŒfe neue Systeme zuerst mit Compatibility_Level = 160
  • Ich schaue in die sys.query_store_query_text, welche Abfragen mehrfach auftauchen
  • Ich deaktiviere IQP selektiv nur bei SonderfĂ€llen (z. B. Replikation mit festen PlĂ€nen)
  • Ich nutze Plan-Guide nur noch selten

SQL Server 2025 denkt mit.
Wenn Du ihm das zutraust, sparst Du viel manuelle Indexpflege.
Gerade in KMU-Umgebungen mit wechselnden Datenmengen lohnt sich IQP richtig.

Kategorien:

Schlagwörter:

Keine Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert