Plan değişimi P447
Orta Kötüleşme 188,6× BekliyorDB-9 · query_id 1734 · değişim 29.09.2026 09:00 · plan 514 → 546 · Dönüşümlü (3 el değiştirme) · Sorgu detayı ve analizleri
Güven gerekçesiOrta: birden fazla aday (STATS, PARAM) — rakip açıklamalar. 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 |
|---|---|---|---|---|---|
| P446 | 483 → 521 | İyileşme 14539,8× | Bekliyor | – | 9.10.2026 14:51 |
Sorgu metni
(@instance_uuid uniqueidentifier,@window_days int)DELETE r FROM dbo.agent_job_runs AS r JOIN dbo.agent_jobs AS j ON j.agent_job_uuid = r.agent_job_uuid WHERE j.instance_uuid = @instance_uuid AND r.run_at < DATEADD(day, -@window_days, SYSUTCDATETIME())
1. Etki özeti
| Metrik | Eski plan (514) | Yeni plan (546) | Değişim |
|---|---|---|---|
| Çalışma | 112 | 79 | |
| İptal / hata | 0 / 0 | 0 / 0 | |
| Süre ort. (ms) | 2,4 | 460,0 | +18760% |
| Süre maks. (ms) | 4,9 | 36.077,2 | +731838% |
| Süre sapma (ms) | 0,4 | 4.032,9 | +990424% |
| CPU ort. (ms) | 2,4 | 4,0 | +66% |
| CPU maks. (ms) | 4,9 | 59,2 | +1100% |
| Mantıksal okuma ort. | 195,7 | 235,6 | +20% |
| Mantıksal okuma maks. | 234,0 | 304,0 | +30% |
| Fiziksel okuma | 0,0 | 8,6 | |
| Yazma | 0,0 | 0,0 | |
| Bellek (KB) | 0,0 | 0,0 | |
| Tempdb (KB) | 0,0 | 0,0 | |
| DOP | 1,0 | 1,0 | 0% |
| Satır ort. | 0,0 | 0,0 | |
| Satır maks. | 0,0 | 0,0 | |
| Dönem | 29.09.2026 02:00 → 29.09.2026 15:00 | 29.09.2026 09:00 → 29.09.2026 19:00 |
Bekleme kategorileri
ms / çalışma| Bekleme kategorisi | Eski plan (514) | Yeni plan (546) |
|---|---|---|
| Idle | – | 456,1 |
| Memory | – | 0,2 |
2. Zaman çizelgesi
Eski planYeni plan
┆ değişim anı (kesik çizgi)░ olay (bant: zamanı aralık olarak bilinen)
Olaylar
| Olay | Nesne | Zaman | Önce → sonra | Eski plan kullanıyor | Yeni plan kullanıyor | |
|---|---|---|---|---|---|---|
| StatsUpdated | dbo.agent_job_runs.CIX_agent_job_runs | 28.09.2026 17:31 | → 2710/2710 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.CIX_agent_job_runs | 29.09.2026 00:46 | → 3755/3755 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.CIX_agent_job_runs | 29.09.2026 09:16 | → 5013/5013 | hayır | evet | sıra belirsiz |
| StatsUpdated | dbo.agent_job_runs.PK_agent_job_runs | 28.09.2026 17:31 | → 2710/2710 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.PK_agent_job_runs | 29.09.2026 00:46 | → 3755/3755 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.PK_agent_job_runs | 29.09.2026 09:16 | → 5013/5013 | hayır | evet | sıra belirsiz |
| StatsUpdated | dbo.agent_job_runs.IX_agent_job_runs_outcome | 28.09.2026 14:11 | → 1111/1111 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.IX_agent_job_runs_outcome | 29.09.2026 00:01 | → 1839/1839 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.IX_agent_job_runs_window | 28.09.2026 17:31 | → 2710/2710 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs.IX_agent_job_runs_window | 29.09.2026 00:46 | → 3755/3755 | hayır | evet | |
| StatsUpdated | dbo.agent_job_runs._WA_Sys_00000004_795DFB40 | 28.09.2026 16:36 | → 2576/2576 | hayır | hayır | |
| StatsUpdated | dbo.agent_job_runs._WA_Sys_00000004_795DFB40 | 28.09.2026 23:26 | → 3596/3596 | hayır | hayır | |
| StatsUpdated | dbo.agent_job_runs._WA_Sys_00000003_795DFB40 | 28.09.2026 23:51 | → 3656/3656 | hayır | hayır | |
| StatsUpdated | dbo.agent_jobs.CIX_agent_jobs | 29.09.2026 02:43 | → 17/17 | evet | evet | |
| StatsUpdated | dbo.agent_jobs.PK_agent_jobs | 29.09.2026 02:43 | → 17/17 | hayır | evet | |
| StatsUpdated | dbo.agent_jobs._WA_Sys_0000000A_6DEC4894 | 28.09.2026 00:15 | → 16/16 | hayır | hayır | |
| StatsUpdated | dbo.agent_jobs._WA_Sys_0000000A_6DEC4894 | 28.09.2026 23:51 | → 17/17 | hayır | hayır | |
| StatsUpdated | dbo.agent_jobs._WA_Sys_0000000A_6DEC4894 | 29.09.2026 08:51 | → 17/17 | hayır | hayır | |
| StatsUpdated | dbo.agent_jobs._WA_Sys_0000000D_6DEC4894 | 28.09.2026 08:41 | → 16/16 | hayır | hayır | |
| StatsUpdated | dbo.agent_jobs._WA_Sys_0000000D_6DEC4894 | 28.09.2026 23:51 | → 17/17 | hayır | hayır |
3. Plan karşılaştırması
- Yalnız eski planda erişim: dbo.agent_jobs Index Seek [PK_agent_jobs]
- Yalnız yeni planda erişim: dbo.agent_jobs Index Scan [PK_agent_jobs]
- Yalnız eski planda join: Nested Loops (Inner Join)
- Yalnız yeni planda join: Merge Join (Inner Join)
- Tahmini maliyet: 0.042 → 0.301; tahmini satır: 1 → 291.6
- Eski planın index'leri
- dbo.agent_job_runs.CIX_agent_job_runs, dbo.agent_jobs.PK_agent_jobs
- Yeni planın index'leri
- dbo.agent_job_runs.CIX_agent_job_runs, dbo.agent_jobs.PK_agent_jobs
4. Neden adayları
ölçüm ve eşikle; kesin değildir| Kod | Ölçülen | Eşik | Sonuç | Açıklama |
|---|---|---|---|---|
| STATS | dbo.agent_job_runs.CIX_agent_job_runs güncellendi 2026-09-29 00:46 (örnekleme %100); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik dbo.agent_job_runs.CIX_agent_job_runs 2026-09-29 00:46 güncellendi (örnekleme %100); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | dbo.agent_job_runs.PK_agent_job_runs güncellendi 2026-09-29 00:46 (örnekleme %100); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik dbo.agent_job_runs.PK_agent_job_runs 2026-09-29 00:46 güncellendi (örnekleme %100); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | dbo.agent_job_runs.IX_agent_job_runs_outcome güncellendi 2026-09-29 00:01 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik dbo.agent_job_runs.IX_agent_job_runs_outcome 2026-09-29 00:01 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | dbo.agent_job_runs.IX_agent_job_runs_window güncellendi 2026-09-29 00:46 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik dbo.agent_job_runs.IX_agent_job_runs_window 2026-09-29 00:46 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | dbo.agent_jobs.CIX_agent_jobs güncellendi 2026-09-29 02:43 (örnekleme %100) | değişimden önceki 48 saat | destekliyor | İstatistik dbo.agent_jobs.CIX_agent_jobs 2026-09-29 02:43 güncellendi (örnekleme %100); planlar bu istatistiği kullanıyor. |
| STATS | dbo.agent_jobs.PK_agent_jobs güncellendi 2026-09-29 02:43 (örnekleme %100) | değişimden önceki 48 saat | destekliyor | İstatistik dbo.agent_jobs.PK_agent_jobs 2026-09-29 02:43 güncellendi (örnekleme %100); planlar bu istatistiği kullanıyor. |
| STATS | 4 istatistik güncellendi, planlar kullanmıyor | desteklemiyor | Pencerede güncellenen ama iki planın da kullanmadığı istatistikler aday değil: dbo.agent_job_runs._WA_Sys_00000004_795DFB40, dbo.agent_job_runs._WA_Sys_00000003_795DFB40, dbo.agent_jobs._WA_Sys_0000000A_6DEC4894, dbo.agent_jobs._WA_Sys_0000000D_6DEC4894. | |
| WORKLOAD | çalışma başına satır 0 → 0 (1×) | ≥ 2× | desteklemiyor | Çalışma başına satır benzer (0 → 0): iş yükü farkı yok. |
| PARAM | baskın plan 3 kez el değiştirdi | ≥ 3 | destekliyor | İki plan aynı dönemde sırayla kullanılıyor (3 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 %877'i: ortalama güvenilir değil.
- METADATA_GAP (zayıf): Metadata toplama 2026-09-27 tarihinde başladı, değişim 2026-09-29: 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 #P447 | DB: DB-9 | Regression | Confidence: Medium (review pending) Query: (@instance_uuid uniqueidentifier,@window_days int)DELETE r FROM dbo.agent_job_runs AS r JOIN dbo.agent_jobs AS j ON j.agent_job_uuid = r.agent_job_uuid WHERE j.instance_uuid = @instance_uuid AND r.run_at < DATEADD(day, -@window_days, SYSUTCDATETIME()) Change: 2026-09-29 09:00 UTC, plan 514 → 546, pattern: Alternating (3 switches) Impact (Query Store, per execution): duration 2.4 → 460 ms (+18760%); CPU 2.4 → 4 ms (+66%); reads 196 → 236 (+20%); rows 0 → 0 Plan difference: Access only in the old plan: dbo.agent_jobs Index Seek [PK_agent_jobs]; Access only in the new plan: dbo.agent_jobs Index Scan [PK_agent_jobs]; Join only in the old plan: Nested Loops (Inner Join); Join only in the new plan: Merge Join (Inner Join) Candidate cause: STATS — Statistic dbo.agent_job_runs.CIX_agent_job_runs was updated 2026-09-29 00:46 (sampled 100%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic dbo.agent_job_runs.PK_agent_job_runs was updated 2026-09-29 00:46 (sampled 100%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic dbo.agent_job_runs.IX_agent_job_runs_outcome was updated 2026-09-29 00:01 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic dbo.agent_job_runs.IX_agent_job_runs_window was updated 2026-09-29 00:46 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic dbo.agent_jobs.CIX_agent_jobs was updated 2026-09-29 02:43 (sampled 100%); the plans use this statistic. Candidate cause: STATS — Statistic dbo.agent_jobs.PK_agent_jobs was updated 2026-09-29 02:43 (sampled 100%); the plans use this statistic. Candidate cause: PARAM — The two plans alternate in the same period (3 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 877% of the average: the average is not reliable. Counter-evidence: METADATA_GAP — Metadata collection started on 2026-09-27 and the change was on 2026-09-29: index, statistics and module events could not be evaluated (no data, not no events). Confidence rationale: Medium: more than one candidate (STATS, PARAM) — competing explanations. 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.