Demo modu

Plan değişimi P458

Düşük İyileşme 21,3× Bekliyor

DB-12 · query_id 18535 · DBA.usp_Apply_Qds · değişim 5.10.2026 11:00 · plan 8465 → 8476 · Dönüşümlü (10 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 (8465)Yeni plan (8476)Değişim
Çalışma270213
İptal / hata0 / 00 / 0
Süre ort. (ms)106,05,0-95%
Süre maks. (ms)2.119,9131,5-94%
Süre sapma (ms)369,615,0-96%
CPU ort. (ms)78,13,3-96%
CPU maks. (ms)1.525,5114,1-93%
Mantıksal okuma ort.2.920,2102,5-96%
Mantıksal okuma maks.60.557,03.754,0-94%
Fiziksel okuma192,23,3-98%
Yazma215,25,9-97%
Bellek (KB)1.641,71.024,0-38%
Tempdb (KB)398,515,6-96%
DOP1,01,00%
Satır ort.96,91,8-98%
Satır maks.1.998,067,0-97%
Dönem5.10.2026 11:00 → 8.10.2026 21:00 5.10.2026 11:00 → 8.10.2026 22:00

Bekleme kategorileri

ms / çalışma
Bekleme kategorisiEski plan (8465)Yeni plan (8476)
Buffer IO11,50,3
Memory0,6–
Preemptive0,3–
SQL CLR0,0–
CPU0,0–
Latch0,0–

2. Zaman çizelgesi

StatsUpdated perf.QdsPlanXml.PK_QdsPlanXml (2026-10-04 09:10)StatsUpdated perf.QdsPlanXml.PK_QdsPlanXml (2026-10-05 01:11)Değişim: 5.10.2026 11:00Eski plan 5.10.2026 11:00: 811,0 msEski plan 5.10.2026 13:00: 1.662,5 msEski plan 5.10.2026 14:00: 1.597,3 msEski plan 5.10.2026 18:00: 1.493,5 msEski plan 5.10.2026 19:00: 620,7 msEski plan 5.10.2026 21:00: 811,9 msEski plan 5.10.2026 22:00: 1.839,7 msEski plan 5.10.2026 23:00: 1.947,9 msEski plan 6.10.2026 00:00: 985,7 msEski plan 6.10.2026 01:00: 1.249,2 msEski plan 6.10.2026 02:00: 15,8 msEski plan 6.10.2026 03:00: 9,5 msEski plan 6.10.2026 04:00: 20,1 msEski plan 6.10.2026 05:00: 7,5 msEski plan 6.10.2026 06:00: 21,4 msEski plan 6.10.2026 07:00: 9,7 msEski plan 6.10.2026 08:00: 2,3 msEski plan 6.10.2026 09:00: 1,1 msEski plan 6.10.2026 10:00: 0,3 msEski plan 6.10.2026 11:00: 0,3 msEski plan 6.10.2026 12:00: 0,4 msEski plan 6.10.2026 13:00: 0,8 msEski plan 6.10.2026 14:00: 0,6 msEski plan 6.10.2026 15:00: 17,9 msEski plan 6.10.2026 16:00: 3,7 msEski plan 6.10.2026 17:00: 5,8 msEski plan 6.10.2026 18:00: 1,6 msEski plan 6.10.2026 19:00: 2,2 msEski plan 6.10.2026 20:00: 1,6 msEski plan 6.10.2026 21:00: 1,7 msEski plan 6.10.2026 22:00: 0,5 msEski plan 7.10.2026 14:00: 1.166,8 msEski plan 7.10.2026 15:00: 10,8 msEski plan 7.10.2026 16:00: 2,5 msEski plan 7.10.2026 17:00: 11,7 msEski plan 7.10.2026 18:00: 5,1 msEski plan 7.10.2026 19:00: 54,6 msEski plan 7.10.2026 20:00: 65,2 msEski plan 7.10.2026 21:00: 1.075,4 msEski plan 8.10.2026 08:00: 18,7 msEski plan 8.10.2026 09:00: 27,7 msEski plan 8.10.2026 10:00: 8,4 msEski plan 8.10.2026 11:00: 6,1 msEski plan 8.10.2026 12:00: 8,5 msEski plan 8.10.2026 13:00: 862,3 msEski plan 8.10.2026 14:00: 9,0 msEski plan 8.10.2026 15:00: 499,5 msEski plan 8.10.2026 16:00: 47,5 msEski plan 8.10.2026 17:00: 1.018,7 msEski plan 8.10.2026 18:00: 1.559,6 msEski plan 8.10.2026 19:00: 1.022,7 msEski plan 8.10.2026 20:00: 974,5 msYeni plan 5.10.2026 11:00: 2,8 msYeni plan 5.10.2026 12:00: 10,6 msYeni plan 5.10.2026 13:00: 3,4 msYeni plan 5.10.2026 14:00: 3,6 msYeni plan 5.10.2026 15:00: 8,7 msYeni plan 5.10.2026 16:00: 9,7 msYeni plan 5.10.2026 17:00: 1,8 msYeni plan 5.10.2026 18:00: 0,5 msYeni plan 5.10.2026 19:00: 1,2 msYeni plan 5.10.2026 20:00: 3,4 msYeni plan 5.10.2026 21:00: 2,7 msYeni plan 5.10.2026 22:00: 3,3 msYeni plan 5.10.2026 23:00: 2,6 msYeni plan 6.10.2026 00:00: 3,6 msYeni plan 6.10.2026 01:00: 3,9 msYeni plan 6.10.2026 02:00: 0,3 msYeni plan 7.10.2026 06:00: 24,8 msYeni plan 7.10.2026 07:00: 1,8 msYeni plan 7.10.2026 08:00: 0,4 msYeni plan 7.10.2026 09:00: 2,1 msYeni plan 7.10.2026 10:00: 3,1 msYeni plan 7.10.2026 11:00: 8,3 msYeni plan 7.10.2026 12:00: 3,0 msYeni plan 7.10.2026 13:00: 0,1 msYeni plan 7.10.2026 14:00: 0,6 msYeni plan 7.10.2026 15:00: 2,5 msYeni plan 7.10.2026 21:00: 12,8 msYeni plan 8.10.2026 08:00: 85,3 msYeni plan 8.10.2026 13:00: 0,1 msYeni plan 8.10.2026 14:00: 2,0 msYeni plan 8.10.2026 15:00: 0,1 msYeni plan 8.10.2026 16:00: 2,4 msYeni plan 8.10.2026 17:00: 0,1 msYeni plan 8.10.2026 18:00: 0,2 msYeni plan 8.10.2026 19:00: 0,1 msYeni plan 8.10.2026 20:00: 0,9 msYeni plan 8.10.2026 21:00: 25,4 msmax 1.947,9 ms 10-04 09:10 10-08 21: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_QdsPlanXml4.10.2026 09:10 → 5181/17717 evetbilinmiyor
StatsUpdatedperf.QdsPlanXml.PK_QdsPlanXml5.10.2026 01:11 → 5594/22089 evetbilinmiyor

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-05 01:11 (örnekleme %25.3); pencerede 2 güncellemedeğişimden önceki 48 saat destekliyor İstatistik perf.QdsPlanXml.PK_QdsPlanXml 2026-10-05 01:11 güncellendi (örnekleme %25.3); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor.
WORKLOAD çalışma başına satır 96.89 → 1.8 (53.88×)≥ 2× destekliyor Planlar farklı iş yükü görüyor: çalışma başına satır 96.89 → 1.8. Planlar farklı parametre/parti büyüklüğü için derlenmiş olabilir.
PARAM baskın plan 10 kez el değiştirdi≥ 3 destekliyor İki plan aynı dönemde sırayla kullanılıyor (10 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 #P458 | DB: DB-12 | Improvement | 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-05 11:00 UTC, plan 8465 → 8476, pattern: Alternating (10 switches)
Impact (Query Store, per execution): duration 106 → 5 ms (-95%); CPU 78.1 → 3.3 ms (-96%); reads 2,920 → 103 (-96%); rows 96.89 → 1.8 (-98%)
Plan difference: no operator-level difference
Candidate cause: STATS — Statistic perf.QdsPlanXml.PK_QdsPlanXml was updated 2026-10-05 01:11 (sampled 25.3%); 2 updates in the window; the plans use this statistic.
Candidate cause: WORKLOAD — The plans see a different workload: rows per execution 96.89 → 1.8. The plans may have been compiled for different parameters or batch sizes.
Candidate cause: PARAM — The two plans alternate in the same period (10 switches): plan choice depends on the parameter value rather than an event (parameter sensitivity).
Counter-evidence: WORK_PROPORTIONAL — Rows per execution changed 0.02× and duration 0.05×; duration per row 1.0943 → 2.7669 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 349% of the average: the average is not reliable.
Counter-evidence: HIGH_VARIANCE — The new plan's duration standard deviation is 301% of the average: the average is not reliable.
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.