Demo modu

Plan değişimi P401

Düşük İyileşme 18,4× Bekliyor

DB-12 · query_id 731 · DBA.usp_Apply_Qds · değişim 28.09.2026 13:00 · plan 4448 → 5955 · Dönüşümlü (27 el değiştirme) · Sorgu detayı ve analizleri

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

Sorgu metni

SQL
(@ServerID int,@DatabaseName nvarchar(128))INSERT perf.QdsRuntimeStats
        SELECT g.* FROM perf.Stg_QdsRuntimeStats AS g
        WHERE g.ServerID = @ServerID AND g.DatabaseName = @DatabaseName
          AND NOT EXISTS (SELECT 1 FROM perf.QdsRuntimeStats AS r
                          WHERE r.ServerID = g.ServerID AND r.DatabaseName = g.DatabaseName AND r.plan_id = g.plan_id
                            AND r.runtime_stats_interval_id = g.runtime_stats_interval_id AND r.execution_type = g.execution_type
                            AND r.IntervalStartUtc = g.IntervalStartUtc)

1. Etki özeti

MetrikEski plan (4448)Yeni plan (5955)Değişim
Çalışma28333
İptal / hata0 / 70 / 0
Süre ort. (ms)110,46,0-95%
Süre maks. (ms)1.042,6160,2-85%
Süre sapma (ms)182,415,2-92%
CPU ort. (ms)81,44,6-94%
CPU maks. (ms)284,073,7-74%
Mantıksal okuma ort.14.862,91.056,0-93%
Mantıksal okuma maks.28.091,016.421,0-42%
Fiziksel okuma976,418,3-98%
Yazma450,529,3-93%
Bellek (KB)2.009,10,0-100%
Tempdb (KB)438,915,0-97%
DOP1,01,00%
Satır ort.2.117,296,1-95%
Satır maks.4.410,01.504,0-66%
Dönem28.09.2026 12:00 → 6.10.2026 07:00 28.09.2026 13:00 → 8.10.2026 21:00

Bekleme kategorileri

ms / çalışma
Bekleme kategorisiEski plan (4448)Yeni plan (5955)
Buffer IO27,21,3
CPU0,30,2
Memory3,10,0
Idle2,1–
Preemptive0,9–

2. Zaman çizelgesi

Değişim: 28.09.2026 13:00Eski plan 28.09.2026 12:00: 22,4 msEski plan 28.09.2026 13:00: 22,3 msEski plan 29.09.2026 11:00: 13,4 msEski plan 1.10.2026 22:00: 92,6 msEski plan 2.10.2026 01:00: 71,4 msEski plan 2.10.2026 02:00: 41,4 msEski plan 2.10.2026 12:00: 73,6 msEski plan 2.10.2026 17:00: 1.042,6 msEski plan 2.10.2026 18:00: 95,0 msEski plan 2.10.2026 19:00: 72,0 msEski plan 4.10.2026 09:00: 56,1 msEski plan 4.10.2026 14:00: 65,9 msEski plan 4.10.2026 23:00: 67,7 msEski plan 5.10.2026 01:00: 58,5 msEski plan 5.10.2026 03:00: 66,4 msEski plan 5.10.2026 10:00: 54,8 msEski plan 5.10.2026 11:00: 77,0 msEski plan 5.10.2026 13:00: 103,7 msEski plan 5.10.2026 14:00: 107,3 msEski plan 5.10.2026 18:00: 82,0 msEski plan 5.10.2026 19:00: 64,9 msEski plan 5.10.2026 21:00: 73,9 msEski plan 5.10.2026 22:00: 119,0 msEski plan 5.10.2026 23:00: 137,9 msEski plan 6.10.2026 01:00: 140,7 msEski plan 6.10.2026 02:00: 94,4 msEski plan 6.10.2026 06:00: 120,0 msYeni plan 28.09.2026 13:00: 3,5 msYeni plan 28.09.2026 14:00: 2,5 msYeni plan 28.09.2026 15:00: 2,1 msYeni plan 28.09.2026 16:00: 1,9 msYeni plan 28.09.2026 17:00: 2,8 msYeni plan 28.09.2026 18:00: 2,3 msYeni plan 28.09.2026 19:00: 2,5 msYeni plan 28.09.2026 20:00: 3,8 msYeni plan 28.09.2026 22:00: 1,9 msYeni plan 28.09.2026 23:00: 2,5 msYeni plan 29.09.2026 03:00: 3,7 msYeni plan 29.09.2026 04:00: 2,8 msYeni plan 29.09.2026 05:00: 2,5 msYeni plan 29.09.2026 06:00: 2,1 msYeni plan 29.09.2026 07:00: 2,2 msYeni plan 29.09.2026 08:00: 2,1 msYeni plan 29.09.2026 10:00: 2,8 msYeni plan 29.09.2026 11:00: 4,0 msYeni plan 29.09.2026 12:00: 3,4 msYeni plan 29.09.2026 14:00: 2,5 msYeni plan 29.09.2026 15:00: 6,4 msYeni plan 1.10.2026 23:00: 150,7 msYeni plan 2.10.2026 01:00: 10,2 msYeni plan 2.10.2026 13:00: 2,4 msYeni plan 2.10.2026 14:00: 2,8 msYeni plan 2.10.2026 15:00: 3,1 msYeni plan 2.10.2026 16:00: 3,6 msYeni plan 2.10.2026 20:00: 2,3 msYeni plan 2.10.2026 21:00: 8,2 msYeni plan 2.10.2026 22:00: 4,1 msYeni plan 2.10.2026 23:00: 3,4 msYeni plan 3.10.2026 00:00: 3,8 msYeni plan 3.10.2026 01:00: 3,4 msYeni plan 3.10.2026 03:00: 2,5 msYeni plan 3.10.2026 04:00: 3,3 msYeni plan 3.10.2026 05:00: 3,6 msYeni plan 3.10.2026 06:00: 2,2 msYeni plan 3.10.2026 07:00: 2,8 msYeni plan 3.10.2026 08:00: 2,5 msYeni plan 3.10.2026 09:00: 2,7 msYeni plan 3.10.2026 10:00: 3,9 msYeni plan 3.10.2026 11:00: 2,7 msYeni plan 3.10.2026 12:00: 2,9 msYeni plan 4.10.2026 08:00: 5,7 msYeni plan 4.10.2026 10:00: 11,2 msYeni plan 4.10.2026 11:00: 14,8 msYeni plan 4.10.2026 12:00: 3,4 msYeni plan 4.10.2026 13:00: 11,2 msYeni plan 4.10.2026 15:00: 5,1 msYeni plan 4.10.2026 16:00: 6,7 msYeni plan 4.10.2026 17:00: 3,0 msYeni plan 4.10.2026 18:00: 4,1 msYeni plan 4.10.2026 19:00: 4,0 msYeni plan 4.10.2026 20:00: 7,1 msYeni plan 4.10.2026 21:00: 4,5 msYeni plan 4.10.2026 22:00: 42,5 msYeni plan 5.10.2026 00:00: 5,3 msYeni plan 5.10.2026 02:00: 13,1 msYeni plan 5.10.2026 04:00: 3,6 msYeni plan 5.10.2026 05:00: 2,7 msYeni plan 5.10.2026 06:00: 2,5 msYeni plan 5.10.2026 07:00: 3,4 msYeni plan 5.10.2026 08:00: 5,8 msYeni plan 5.10.2026 09:00: 13,2 msYeni plan 5.10.2026 11:00: 14,1 msYeni plan 5.10.2026 12:00: 11,7 msYeni plan 5.10.2026 15:00: 3,2 msYeni plan 5.10.2026 16:00: 5,3 msYeni plan 5.10.2026 17:00: 3,8 msYeni plan 5.10.2026 18:00: 4,8 msYeni plan 5.10.2026 19:00: 4,7 msYeni plan 5.10.2026 20:00: 4,1 msYeni plan 5.10.2026 22:00: 21,5 msYeni plan 6.10.2026 00:00: 91,0 msYeni plan 6.10.2026 03:00: 3,9 msYeni plan 6.10.2026 04:00: 3,4 msYeni plan 6.10.2026 05:00: 22,5 msYeni plan 6.10.2026 07:00: 8,1 msYeni plan 7.10.2026 06:00: 77,1 msYeni plan 7.10.2026 08:00: 4,0 msYeni plan 7.10.2026 09:00: 4,6 msYeni plan 7.10.2026 11:00: 3,8 msYeni plan 7.10.2026 19:00: 16,5 msYeni plan 7.10.2026 20:00: 9,2 msYeni plan 7.10.2026 21:00: 15,2 msYeni plan 8.10.2026 09:00: 8,4 msYeni plan 8.10.2026 10:00: 3,3 msYeni plan 8.10.2026 13:00: 5,9 msYeni plan 8.10.2026 14:00: 25,4 msYeni plan 8.10.2026 17:00: 41,1 msYeni plan 8.10.2026 18:00: 32,8 msYeni plan 8.10.2026 20:00: 6,7 msmax 1.042,6 ms 09-28 12:00 10-08 20:00
Eski planYeni plan ┆ değişim anı (kesik çizgi)░ olay (bant: zamanı aralık olarak bilinen)

Pencerede olay yok — metadata toplama 1.10.2026 tarihinde başladı, değişimden önceki olaylar görülemez (veri yok).

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

  • Yalnız eski planda join: Hash Match (Left Anti Semi Join)
  • Yalnız yeni planda join: Nested Loops (Left Anti Semi Join)
  • Tahmini maliyet: 0.902 → 0.379; tahmini satır: 1 → 1
Eski planın index'leri
perf.QdsRuntimeStats.PK_QdsRuntimeStats
Yeni planın index'leri
perf.QdsRuntimeStats.PK_QdsRuntimeStats

4. Neden adayları

ölçüm ve eşikle; kesin değildir
KodÖlçülenEşikSonuçAçıklama
WORKLOAD çalışma başına satır 2117.18 → 96.13 (22.02×)≥ 2× destekliyor Planlar farklı iş yükü görüyor: çalışma başına satır 2117.18 → 96.13. Planlar farklı parametre/parti büyüklüğü için derlenmiş olabilir.
PARAM baskın plan 27 kez el değiştirdi≥ 3 destekliyor İki plan aynı dönemde sırayla kullanılıyor (27 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 #P401 | DB: DB-12 | Improvement | Confidence: Low (review pending)
Query: (@ServerID int,@DatabaseName nvarchar(?))INSERT perf.QdsRuntimeStats SELECT g.* FROM perf.Stg_QdsRuntimeStats AS g WHERE g.ServerID = @ServerID AND g.DatabaseName = @DatabaseName AND NOT EXISTS (SELECT ? FROM perf.QdsRuntimeStats AS r WHERE r.ServerID = g.ServerID AND r.DatabaseName = g.DatabaseName AND r.plan_id = g.plan_id AND r.runtime_stats_interval_id = g.runtime_stats_interval_id AND r.execution_type = g.execution_type AND r.IntervalStartUtc = g.IntervalStartUtc)
Change: 2026-09-28 13:00 UTC, plan 4448 → 5955, pattern: Alternating (27 switches)
Impact (Query Store, per execution): duration 110.4 → 6 ms (-95%); CPU 81.4 → 4.6 ms (-94%); reads 14,863 → 1,056 (-93%); rows 2117.18 → 96.13 (-95%)
Plan difference: Join only in the old plan: Hash Match (Left Anti Semi Join); Join only in the new plan: Nested Loops (Left Anti Semi Join); Estimated cost: 0.902 → 0.379; estimated rows: 1 → 1
Candidate cause: WORKLOAD — The plans see a different workload: rows per execution 2117.18 → 96.13. The plans may have been compiled for different parameters or batch sizes.
Candidate cause: PARAM — The two plans alternate in the same period (27 switches): plan choice depends on the parameter value rather than an event (parameter sensitivity).
Counter-evidence: WORK_PROPORTIONAL — Rows per execution changed 0.05× and duration 0.05×; duration per row 0.0522 → 0.0625 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 165% of the average: the average is not reliable.
Counter-evidence: LOW_SAMPLE — The old plan ran only 28 times: the sample is small and the average is weak.
Counter-evidence: HIGH_VARIANCE — The new plan's duration standard deviation is 253% 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-09-28: index, statistics and module events could not be evaluated (no data, not no events).
Confidence rationale: Low: strong counter-evidence (WORK_PROPORTIONAL).
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.