Plan değişimi P418
Orta Kötüleşme 6,9× BekliyorDB-11 · query_id 31034 · değişim 2.10.2026 00:00 · plan 30584 → 32597 · Dönüşümlü (10 el değiştirme) · Sorgu detayı ve analizleri
Güven gerekçesiOrta: tek aday (WORKLOAD + PARAM), mekanik değil (plan ile doğrudan bağ kanıtlanmıyor). Zayıf karşı kanıt: HIGH_VARIANCE, METADATA_GAP.
Bu sorgunun diğer plan değişimleri
Önceki kararlar; ters yöndeki değişim aynı planlar arasında geri dönüştür.| # | Planlar | Yön | Durum | Karar | Tespit |
|---|---|---|---|---|---|
| P419 | 32597 → 41370 | İyileşme 12,4× | Bekliyor | – | 9.10.2026 14:51 |
Sorgu metni
SELECT 1, N'DB-11', p.plan_id, p.query_plan FROM sys.query_store_plan AS p JOIN @ids AS x ON x.id = p.plan_id
1. Etki özeti
| Metrik | Eski plan (30584) | Yeni plan (32597) | Değişim |
|---|---|---|---|
| Çalışma | 51 | 122 | |
| İptal / hata | 0 / 0 | 0 / 0 | |
| Süre ort. (ms) | 726,7 | 5.013,1 | +590% |
| Süre maks. (ms) | 2.389,8 | 34.102,3 | +1327% |
| Süre sapma (ms) | 664,4 | 9.399,1 | +1315% |
| CPU ort. (ms) | 372,0 | 4.603,5 | +1138% |
| CPU maks. (ms) | 1.303,7 | 30.596,9 | +2247% |
| Mantıksal okuma ort. | 11.129,6 | 4.363,6 | -61% |
| Mantıksal okuma maks. | 93.933,0 | 23.181,0 | -75% |
| Fiziksel okuma | 218,5 | 102,6 | -53% |
| Yazma | 55,0 | 7,5 | -86% |
| Bellek (KB) | 1.590,6 | 0,0 | -100% |
| Tempdb (KB) | 459,3 | 67,1 | -85% |
| DOP | 1,0 | 1,0 | 0% |
| Satır ort. | 956,9 | 359,4 | -62% |
| Satır maks. | 2.000,0 | 2.000,0 | 0% |
| Dönem | 1.10.2026 21:00 → 8.10.2026 21:00 | 2.10.2026 00:00 → 8.10.2026 20:00 |
Bekleme kategorileri
ms / çalışma| Bekleme kategorisi | Eski plan (30584) | Yeni plan (32597) |
|---|---|---|
| Network IO | 347,6 | 388,6 |
| Buffer IO | 14,6 | 18,5 |
| CPU | 0,6 | 9,3 |
| Memory | 3,3 | 5,5 |
2. Zaman çizelgesi
Eski planYeni plan
┆ değişim anı (kesik çizgi)░ olay (bant: zamanı aralık olarak bilinen)
Pencerede olay yok.
3. Plan karşılaştırması
- Yalnız eski planda erişim: @ids Clustered Index Scan [PK__#B9C4F67__3213E83F2BD78F31]; sys.plan_persist_plan Clustered Index Scan [plan_persist_plan_cidx]
- Yalnız yeni planda erişim: @ids Clustered Index Scan [PK__#B4744D3__3213E83FD23274E9]; sys.plan_persist_plan Clustered Index Seek [plan_persist_plan_cidx]
- Yalnız eski planda join: Merge Join (Inner Join) ×2; Merge Join (Left Outer Join)
- Yalnız yeni planda join: Nested Loops (Inner Join); Nested Loops (Left Outer Join)
- Tahmini maliyet: 0.602 → 0.021; tahmini satır: 2117.3 → 3.4
- Eski planın index'leri
- @ids.PK__#B9C4F67__3213E83F2BD78F31, sys.plan_persist_plan.plan_persist_plan_cidx
- Yeni planın index'leri
- @ids.PK__#B4744D3__3213E83FD23274E9, sys.plan_persist_plan.plan_persist_plan_cidx
4. Neden adayları
ölçüm ve eşikle; kesin değildir| Kod | Ölçülen | Eşik | Sonuç | Açıklama |
|---|---|---|---|---|
| WORKLOAD | çalışma başına satır 956.94 → 359.41 (2.66×) | ≥ 2× | destekliyor | Planlar farklı iş yükü görüyor: çalışma başına satır 956.94 → 359.41. 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
- HIGH_VARIANCE (zayıf): Yeni planın süre sapması ortalamanın %187'i: ortalama güvenilir değil.
- METADATA_GAP (zayıf): Metadata toplama 2026-10-01 tarihinde başladı, değişim 2026-10-02: index/istatistik/modül olayları değerlendirilemedi (olay yok değil, veri yok).
6. Korpus metni önizlemesi
onaylanınca RAG hafızasına bu metin girer (başlığa onaylayan eklenir)Plan change case #P418 | DB: DB-11 | Regression | Confidence: Medium (review pending) Query: SELECT ?, p.plan_id, p.query_plan FROM sys.query_store_plan AS p JOIN @ids AS x ON x.id = p.plan_id Change: 2026-10-02 00:00 UTC, plan 30584 → 32597, pattern: Alternating (10 switches) Impact (Query Store, per execution): duration 726.7 → 5013.1 ms (+590%); CPU 372 → 4603.5 ms (+1138%); reads 11,130 → 4,364 (-61%); rows 956.94 → 359.41 (-62%) Plan difference: Access only in the old plan: @ids Clustered Index Scan [PK__#B9C4F67__3213E83F2BD78F31]; sys.plan_persist_plan Clustered Index Scan [plan_persist_plan_cidx]; Access only in the new plan: @ids Clustered Index Scan [PK__#B4744D3__3213E83FD23274E9]; sys.plan_persist_plan Clustered Index Seek [plan_persist_plan_cidx]; Join only in the old plan: Merge Join (Inner Join) ×2; Merge Join (Left Outer Join); Join only in the new plan: Nested Loops (Inner Join); Nested Loops (Left Outer Join) Candidate cause: WORKLOAD — The plans see a different workload: rows per execution 956.94 → 359.41. 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: HIGH_VARIANCE — The new plan's duration standard deviation is 187% 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). Confidence rationale: Medium: a single candidate (WORKLOAD + PARAM), not mechanical (no direct link to the plan is proven). Weak counter-evidence: HIGH_VARIANCE, METADATA_GAP. 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.