Demo modu

Plan değişimi P457

Düşük Kötüleşme 10,9× Bekliyor

DB-12 · query_id 12314 · DBA.usp_Apply_Qds · değişim 2.10.2026 12:00 · plan 7890 → 7895 · Dönüşümlü (4 el değiştirme) · Sorgu detayı ve analizleri

Güven gerekçesiDüşük: güçlü karşı kanıt (WORK_PROPORTIONAL, SAME_SHAPE).

Sorgu metni

SQL
(@now datetime)WITH p AS (SELECT PlanHash, PlanXml, ROW_NUMBER() OVER (PARTITION BY PlanHash ORDER BY plan_id) AS rn FROM #px)
        INSERT perf.QdsPlanXml (PlanHash, PlanXmlCompressed, FirstSeenUtc, LastSeenUtc)
        SELECT PlanHash, COMPRESS(PlanXml), @now, @now FROM p
        WHERE rn = 1 AND NOT EXISTS (SELECT 1 FROM perf.QdsPlanXml AS e WHERE e.PlanHash = p.PlanHash)

1. Etki özeti

MetrikEski plan (7890)Yeni plan (7895)Değişim
Çalışma202106
İptal / hata0 / 00 / 0
Süre ort. (ms)11,8127,8+987%
Süre maks. (ms)407,33.850,6+845%
Süre sapma (ms)48,1530,2+1003%
CPU ort. (ms)6,471,1+1013%
CPU maks. (ms)382,01.829,4+379%
Mantıksal okuma ort.126,42.335,4+1748%
Mantıksal okuma maks.4.972,058.490,0+1076%
Fiziksel okuma15,4169,9+1002%
Yazma8,3177,1+2035%
Bellek (KB)1.024,01.627,7+59%
Tempdb (KB)22,2364,7+1544%
DOP1,01,00%
Satır ort.2,879,3+2727%
Satır maks.162,01.997,0+1133%
Dönem2.10.2026 12:00 → 5.10.2026 03:00 2.10.2026 12:00 → 5.10.2026 02:00

Bekleme kategorileri

ms / çalışma
Bekleme kategorisiEski plan (7890)Yeni plan (7895)
Buffer IO0,511,8
Memory0,01,3
Preemptive–0,3
SQL CLR0,10,3

2. Zaman çizelgesi

StatsUpdated perf.QdsPlanXml.PK_QdsPlanXml (2026-10-01 20:11)StatsUpdated perf.QdsPlanXml.PK_QdsPlanXml (2026-10-01 22:10)Değişim: 2.10.2026 12:00Eski plan 2.10.2026 12:00: 70,3 msEski plan 2.10.2026 13:00: 7,1 msEski plan 2.10.2026 14:00: 1,5 msEski plan 2.10.2026 15:00: 9,7 msEski plan 2.10.2026 16:00: 1,3 msEski plan 2.10.2026 17:00: 7,6 msEski plan 2.10.2026 18:00: 2,3 msEski plan 2.10.2026 19:00: 10,0 msEski plan 2.10.2026 20:00: 0,9 msEski plan 2.10.2026 21:00: 24,2 msEski plan 2.10.2026 22:00: 3,2 msEski plan 2.10.2026 23:00: 0,1 msEski plan 3.10.2026 00:00: 0,1 msEski plan 3.10.2026 01:00: 0,1 msEski plan 3.10.2026 02:00: 1,1 msEski plan 3.10.2026 03:00: 5,6 msEski plan 4.10.2026 09:00: 15,0 msEski plan 4.10.2026 10:00: 14,4 msEski plan 4.10.2026 14:00: 2,0 msEski plan 4.10.2026 15:00: 41,1 msEski plan 4.10.2026 16:00: 55,8 msEski plan 4.10.2026 17:00: 0,4 msEski plan 4.10.2026 18:00: 2,9 msEski plan 4.10.2026 19:00: 1,1 msEski plan 4.10.2026 20:00: 7,7 msEski plan 4.10.2026 21:00: 6,6 msEski plan 4.10.2026 22:00: 45,6 msEski plan 4.10.2026 23:00: 2,7 msEski plan 5.10.2026 00:00: 4,3 msEski plan 5.10.2026 01:00: 21,2 msEski plan 5.10.2026 02:00: 5,6 msYeni plan 2.10.2026 12:00: 739,0 msYeni plan 2.10.2026 17:00: 2.911,4 msYeni plan 2.10.2026 18:00: 2.090,0 msYeni plan 3.10.2026 04:00: 30,0 msYeni plan 3.10.2026 05:00: 3,4 msYeni plan 3.10.2026 06:00: 2,2 msYeni plan 3.10.2026 07:00: 0,8 msYeni plan 3.10.2026 08:00: 1,3 msYeni plan 3.10.2026 09:00: 0,7 msYeni plan 3.10.2026 10:00: 0,3 msYeni plan 3.10.2026 11:00: 3,2 msYeni plan 3.10.2026 12:00: 4,8 msYeni plan 4.10.2026 08:00: 14,7 msYeni plan 4.10.2026 09:00: 1.953,5 msYeni plan 4.10.2026 10:00: 39,0 msYeni plan 4.10.2026 11:00: 19,0 msYeni plan 4.10.2026 12:00: 3,8 msYeni plan 4.10.2026 13:00: 23,3 msYeni plan 4.10.2026 14:00: 712,6 msYeni plan 4.10.2026 23:00: 945,9 msYeni plan 5.10.2026 01:00: 547,0 msmax 2.911,4 ms 10-01 20:11 10-05 02:00
Eski planYeni plan ┆ değişim anı (kesik çizgi)░ olay (bant: zamanı aralık olarak bilinen)

Olaylar

OlayNesneZamanÖnce → sonra Eski plan kullanıyorYeni plan kullanıyor
StatsUpdatedperf.QdsPlanXml.PK_QdsPlanXml1.10.2026 20:11 → 4054/8303 evetevet
StatsUpdatedperf.QdsPlanXml.PK_QdsPlanXml1.10.2026 22:10 → 4316/11134 evetevet

3. Plan karşılaştırması

  • Operatör düzeyinde fark yok: süre farkı büyük olasılıkla beklemeden ya da parametre değerinden.
Eski planın index'leri
perf.QdsPlanXml.PK_QdsPlanXml
Yeni planın index'leri
perf.QdsPlanXml.PK_QdsPlanXml

4. Neden adayları

ölçüm ve eşikle; kesin değildir
KodÖlçülenEşikSonuçAçıklama
STATS perf.QdsPlanXml.PK_QdsPlanXml güncellendi 2026-10-01 22:10 (örnekleme %38.8); pencerede 2 güncellemedeğişimden önceki 48 saat destekliyor İstatistik perf.QdsPlanXml.PK_QdsPlanXml 2026-10-01 22:10 güncellendi (örnekleme %38.8); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor.
WORKLOAD çalışma başına satır 2.81 → 79.34 (28.27×)≥ 2× destekliyor Planlar farklı iş yükü görüyor: çalışma başına satır 2.81 → 79.34. Planlar farklı parametre/parti büyüklüğü için derlenmiş olabilir.
PARAM baskın plan 4 kez el değiştirdi≥ 3 destekliyor İki plan aynı dönemde sırayla kullanılıyor (4 el değiştirme): plan seçimi bir olaydan çok parametre değerine bağlı (parametre duyarlılığı).

5. Karşı kanıtlar

6. Korpus metni önizlemesi

onaylanınca RAG hafızasına bu metin girer (başlığa onaylayan eklenir)
6. Korpus metni önizlemesi
Plan change case #P457 | DB: DB-12 | Regression | Confidence: Low (review pending)
Query: (@now datetime)WITH p AS (SELECT PlanHash, PlanXml, ROW_NUMBER() OVER (PARTITION BY PlanHash ORDER BY plan_id) AS rn FROM #px) INSERT perf.QdsPlanXml (PlanHash, PlanXmlCompressed, FirstSeenUtc, LastSeenUtc) SELECT PlanHash, COMPRESS(PlanXml), @now, @now FROM p WHERE rn = ? AND NOT EXISTS (SELECT ? FROM perf.QdsPlanXml AS e WHERE e.PlanHash = p.PlanHash)
Change: 2026-10-02 12:00 UTC, plan 7890 → 7895, pattern: Alternating (4 switches)
Impact (Query Store, per execution): duration 11.8 → 127.8 ms (+987%); CPU 6.4 → 71.1 ms (+1013%); reads 126 → 2,335 (+1748%); rows 2.81 → 79.34 (+2727%)
Plan difference: no operator-level difference
Candidate cause: STATS — Statistic perf.QdsPlanXml.PK_QdsPlanXml was updated 2026-10-01 22:10 (sampled 38.8%); 2 updates in the window; the plans use this statistic.
Candidate cause: WORKLOAD — The plans see a different workload: rows per execution 2.81 → 79.34. The plans may have been compiled for different parameters or batch sizes.
Candidate cause: PARAM — The two plans alternate in the same period (4 switches): plan choice depends on the parameter value rather than an event (parameter sensitivity).
Counter-evidence: WORK_PROPORTIONAL — Rows per execution changed 28.27× and duration 10.87×; duration per row 4.1895 → 1.6114 ms: the duration difference comes from the amount of data processed, not the plan.
Counter-evidence: HIGH_VARIANCE — The old plan's duration standard deviation is 409% of the average: the average is not reliable.
Counter-evidence: HIGH_VARIANCE — The new plan's duration standard deviation is 415% of the average: the average is not reliable.
Counter-evidence: METADATA_GAP — Metadata collection started on 2026-10-01 and the change was on 2026-10-02: index, statistics and module events could not be evaluated (no data, not no events).
Counter-evidence: SAME_SHAPE — The two plans have the same operator tree (operators, tables, indexes): the plan did not change; the difference is only in the compiled parameter values and row estimates. The slowness may come from the amount of data this parameter value processes or from waits, not from plan choice.
Confidence rationale: Low: strong counter-evidence (WORK_PROPORTIONAL, SAME_SHAPE).
Note: this is a candidate cause, not proof of the root cause.

7. Karar

Karar vermek için Analyst rolü gerekir.

Karar geçmişi

Kayıt yok

Henüz karar yok.