Plan değişimi P440
Orta İyileşme 1,5× BekliyorDB-11 · query_id 65151 · değişim 6.10.2026 16:00 · plan 64743 → 64746 · Geçiş · Sorgu detayı ve analizleri
Güven gerekçesiOrta: tek aday (STATS), mekanik değil (plan ile doğrudan bağ kanıtlanmıyor).
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 |
|---|---|---|---|---|---|
| P439 | 64741 → 64743 | Kötüleşme 5,0× | Bekliyor | – | 9.10.2026 14:51 |
Sorgu metni
(@condition nvarchar(4000),@incTest bit,@types1 nvarchar(4000),@sid int,@dbName nvarchar(4000),@tag nvarchar(4000),@top int)SELECT TOP (@top) c.ChunkId, c.DocId, d.SourceType, d.SourceRef, d.Title, c.Heading, c.Text, CAST(ft.[RANK] AS float) AS Score FROM CONTAINSTABLE(rag.Chunk, Text, @condition) AS ft JOIN rag.Chunk AS c ON c.ChunkId = ft.[KEY] JOIN rag.Document AS d ON d.DocId = c.DocId WHERE (d.IsActive = 1 OR (@incTest = 1 AND d.ExclusionReason = 'TestDb')) AND d.SourceType IN (@types1) AND (@sid IS NULL OR d.ServerID = @sid) AND (@dbName IS NULL OR d.DatabaseName = @dbName) AND (@tag IS NULL OR EXISTS (SELECT 1 FROM STRING_SPLIT(d.Tags, ',') AS t WHERE LTRIM(RTRIM(t.value)) = @tag)) ORDER BY ft.[RANK] DESC, c.ChunkId
1. Etki özeti
| Metrik | Eski plan (64743) | Yeni plan (64746) | Değişim |
|---|---|---|---|
| Çalışma | 9.757 | 46.827 | |
| İptal / hata | 0 / 0 | 0 / 0 | |
| Süre ort. (ms) | 44,5 | 29,1 | -35% |
| Süre maks. (ms) | 296,3 | 572,8 | +93% |
| Süre sapma (ms) | 20,2 | 14,3 | -29% |
| CPU ort. (ms) | 44,3 | 29,0 | -35% |
| CPU maks. (ms) | 296,3 | 572,4 | +93% |
| Mantıksal okuma ort. | 24.504,4 | 17.850,2 | -27% |
| Mantıksal okuma maks. | 68.406,0 | 65.821,0 | -4% |
| Fiziksel okuma | 0,0 | 0,1 | +580% |
| Yazma | 0,0 | 0,0 | +9% |
| Bellek (KB) | 4.647,1 | 2.280,5 | -51% |
| Tempdb (KB) | 0,1 | 0,7 | +1171% |
| DOP | 1,0 | 1,0 | 0% |
| Satır ort. | 16,0 | 16,5 | +3% |
| Satır maks. | 20,0 | 20,0 | 0% |
| Dönem | 6.10.2026 16:00 → 7.10.2026 17:00 | 6.10.2026 16:00 → 7.10.2026 09:00 |
Bekleme kategorileri
ms / çalışma| Bekleme kategorisi | Eski plan (64743) | Yeni plan (64746) |
|---|---|---|
| Memory | 2,8 | 1,7 |
| Preemptive | 0,4 | 0,4 |
| CPU | 0,1 | 0,1 |
| Other Disk IO | – | 0,0 |
| Buffer IO | 0,0 | 0,0 |
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 | rag.Chunk.PK_Chunk | 5.10.2026 08:59 | → 2167/4745 | evet | evet | |
| StatsUpdated | rag.Chunk.PK_Chunk | 5.10.2026 09:59 | → 2399/5069 | evet | evet | |
| StatsUpdated | rag.Chunk.PK_Chunk | 5.10.2026 22:47 | → 2545/5367 | evet | evet | |
| StatsUpdated | rag.Chunk.UQ_Chunk_DocSeq | 5.10.2026 08:59 | → 2593/4745 | evet | evet | |
| StatsUpdated | rag.Chunk.UQ_Chunk_DocSeq | 5.10.2026 09:59 | → 2658/5069 | evet | evet | |
| StatsUpdated | rag.Chunk.UQ_Chunk_DocSeq | 5.10.2026 22:47 | → 2720/5367 | evet | evet | |
| StatsUpdated | rag.Chunk._WA_Sys_00000007_49309088 | 5.10.2026 09:59 | → 2651/5069 | hayır | hayır | |
| StatsUpdated | rag.Chunk._WA_Sys_00000007_49309088 | 5.10.2026 22:47 | → 2733/5413 | hayır | hayır | |
| StatsUpdated | rag.Chunk._WA_Sys_00000003_49309088 | 5.10.2026 08:59 | → 2167/4745 | evet | evet | |
| StatsUpdated | rag.Chunk._WA_Sys_00000003_49309088 | 5.10.2026 09:59 | → 2399/5069 | evet | evet | |
| StatsUpdated | rag.Chunk._WA_Sys_00000003_49309088 | 5.10.2026 22:47 | → 2545/5367 | evet | evet | |
| StatsUpdated | rag.Document.PK_Document | 4.10.2026 21:41 | → 3980/3980 | evet | evet | |
| StatsUpdated | rag.Document.PK_Document | 6.10.2026 01:16 | → 4700/4700 | evet | evet | |
| StatsUpdated | rag.Document.UQ_Document_Source | 4.10.2026 22:07 | → 3982/3982 | evet | evet | |
| StatsUpdated | rag.Document.UQ_Document_Source | 5.10.2026 11:42 | → 4303/4303 | evet | evet | |
| StatsUpdated | rag.Document.UQ_Document_Source | 6.10.2026 04:00 | → 4474/4474 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000A_428392F9 | 5.10.2026 09:04 | → 4189/4189 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000A_428392F9 | 5.10.2026 22:57 | → 4701/4701 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000003_428392F9 | 4.10.2026 21:41 | → 3980/3980 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000003_428392F9 | 6.10.2026 01:16 | → 4700/4700 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000005_428392F9 | 5.10.2026 09:07 | → 4189/4189 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000005_428392F9 | 5.10.2026 22:46 | → 4286/4286 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000D_428392F9 | 5.10.2026 09:08 | → 4189/4189 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000D_428392F9 | 5.10.2026 22:52 | → 4699/4699 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000008_428392F9 | 5.10.2026 20:06 | → 4304/4304 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000008_428392F9 | 6.10.2026 06:13 | → 4187/4187 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000E_428392F9 | 4.10.2026 22:07 | → 3984/3984 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000E_428392F9 | 5.10.2026 21:02 | → 4274/4274 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000E_428392F9 | 6.10.2026 05:48 | → 4480/4480 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000006_428392F9 | 5.10.2026 09:24 | → 4189/4189 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000006_428392F9 | 5.10.2026 22:46 | → 4286/4286 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000F_428392F9 | 5.10.2026 08:58 | → 3981/3981 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000F_428392F9 | 5.10.2026 09:59 | → 4333/4333 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000F_428392F9 | 5.10.2026 22:47 | → 4524/4524 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000F_428392F9 | 6.10.2026 06:10 | → 4224/4224 | hayır | hayır |
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
- rag.Document.UQ_Document_Source, rag.Document.PK_Document, rag.Chunk.UQ_Chunk_DocSeq, rag.Chunk.PK_Chunk
- Yeni planın index'leri
- rag.Document.UQ_Document_Source, rag.Document.PK_Document, rag.Chunk.UQ_Chunk_DocSeq, rag.Chunk.PK_Chunk
4. Neden adayları
ölçüm ve eşikle; kesin değildir| Kod | Ölçülen | Eşik | Sonuç | Açıklama |
|---|---|---|---|---|
| STATS | rag.Chunk.PK_Chunk güncellendi 2026-10-05 22:47 (örnekleme %47.4); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Chunk.PK_Chunk 2026-10-05 22:47 güncellendi (örnekleme %47.4); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Chunk.UQ_Chunk_DocSeq güncellendi 2026-10-05 22:47 (örnekleme %50.7); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Chunk.UQ_Chunk_DocSeq 2026-10-05 22:47 güncellendi (örnekleme %50.7); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Chunk._WA_Sys_00000003_49309088 güncellendi 2026-10-05 22:47 (örnekleme %47.4); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Chunk._WA_Sys_00000003_49309088 2026-10-05 22:47 güncellendi (örnekleme %47.4); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document.PK_Document güncellendi 2026-10-06 01:16 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document.PK_Document 2026-10-06 01:16 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document.UQ_Document_Source güncellendi 2026-10-06 04:00 (örnekleme %100); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document.UQ_Document_Source 2026-10-06 04:00 güncellendi (örnekleme %100); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document._WA_Sys_0000000A_428392F9 güncellendi 2026-10-05 22:57 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_0000000A_428392F9 2026-10-05 22:57 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document._WA_Sys_00000005_428392F9 güncellendi 2026-10-05 22:46 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_00000005_428392F9 2026-10-05 22:46 güncellendi (örnekleme %100); pencerede 2 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document._WA_Sys_0000000E_428392F9 güncellendi 2026-10-06 05:48 (örnekleme %100); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_0000000E_428392F9 2026-10-06 05:48 güncellendi (örnekleme %100); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | 6 istatistik güncellendi, planlar kullanmıyor | desteklemiyor | Pencerede güncellenen ama iki planın da kullanmadığı istatistikler aday değil: rag.Chunk._WA_Sys_00000007_49309088, rag.Document._WA_Sys_00000003_428392F9, rag.Document._WA_Sys_0000000D_428392F9, rag.Document._WA_Sys_00000008_428392F9, rag.Document._WA_Sys_00000006_428392F9 (+1). | |
| WORKLOAD | çalışma başına satır 16.04 → 16.55 (1.03×) | ≥ 2× | desteklemiyor | Çalışma başına satır benzer (16.04 → 16.55): iş yükü farkı yok. |
| PARAM | baskın plan 1 kez el değiştirdi | ≥ 3 | desteklemiyor | Planlar dönüşümlü değil: yeni plan eskisinin yerini aldı. |
5. Karşı kanıtlar
Karşı kanıt yok.
6. Korpus metni önizlemesi
onaylanınca RAG hafızasına bu metin girer (başlığa onaylayan eklenir)Plan change case #P440 | DB: DB-11 | Improvement | Confidence: Medium (review pending) Query: (@condition nvarchar(?),@incTest bit,@types1 nvarchar(?),@sid int,@dbName nvarchar(?),@tag nvarchar(?),@top int)SELECT TOP (@top) c.ChunkId, c.DocId, d.SourceType, d.SourceRef, d.Title, c.Heading, c.Text, CAST(ft.[RANK] AS float) AS Score FROM CONTAINSTABLE(rag.Chunk, Text, @condition) AS ft JOIN rag.Chunk AS c ON c.ChunkId = ft.[KEY] JOIN rag.Document AS d ON d.DocId = c.DocId WHERE (d.IsActive = ? OR (@incTest = ? AND d.ExclusionReason = ?)) AND d.SourceType IN (@types1) AND (@sid IS NULL OR d.ServerID = @sid) AND (@dbName IS NULL OR d.DatabaseName = @dbName) AND (@tag IS NULL OR EXISTS (SELECT ? FROM STRING_SPLIT(d.Tags, ?) AS t WHERE LTRIM(RTRIM(t.value)) = @tag)) ORDER BY ft.[RANK] DESC, c.ChunkId Change: 2026-10-06 16:00 UTC, plan 64743 → 64746, pattern: Transition Impact (Query Store, per execution): duration 44.5 → 29.1 ms (-35%); CPU 44.3 → 29 ms (-35%); reads 24,504 → 17,850 (-27%); rows 16.04 → 16.55 (+3%) Plan difference: no operator-level difference Candidate cause: STATS — Statistic rag.Chunk.PK_Chunk was updated 2026-10-05 22:47 (sampled 47.4%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Chunk.UQ_Chunk_DocSeq was updated 2026-10-05 22:47 (sampled 50.7%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Chunk._WA_Sys_00000003_49309088 was updated 2026-10-05 22:47 (sampled 47.4%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document.PK_Document was updated 2026-10-06 01:16 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document.UQ_Document_Source was updated 2026-10-06 04:00 (sampled 100%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document._WA_Sys_0000000A_428392F9 was updated 2026-10-05 22:57 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document._WA_Sys_00000005_428392F9 was updated 2026-10-05 22:46 (sampled 100%); 2 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document._WA_Sys_0000000E_428392F9 was updated 2026-10-06 05:48 (sampled 100%); 3 updates in the window; the plans use this statistic. Counter-evidence: none Confidence rationale: Medium: a single candidate (STATS), not mechanical (no direct link to the plan is proven). 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.