Plan değişimi P443
Düşük Kötüleşme 1,5× BekliyorDB-11 · query_id 66902 · değişim 8.10.2026 09:00 · plan 66753 → 70259 · Geçiş · Sorgu detayı ve analizleri
Güven gerekçesiDüşük: güçlü karşı kanıt (WORK_PROPORTIONAL).
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 |
|---|---|---|---|---|---|
| P442 | 65789 → 65806 | Kötüleşme 1,5× | 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.KbChunkText, 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 (66753) | Yeni plan (70259) | Değişim |
|---|---|---|---|
| Çalışma | 93 | 4.523 | |
| İptal / hata | 0 / 0 | 0 / 0 | |
| Süre ort. (ms) | 17,8 | 26,1 | +46% |
| Süre maks. (ms) | 72,0 | 212,5 | +195% |
| Süre sapma (ms) | 10,9 | 15,1 | +38% |
| CPU ort. (ms) | 16,8 | 25,9 | +54% |
| CPU maks. (ms) | 71,2 | 210,1 | +195% |
| Mantıksal okuma ort. | 2.401,0 | 3.902,3 | +63% |
| Mantıksal okuma maks. | 5.294,0 | 10.860,0 | +105% |
| Fiziksel okuma | 75,5 | 0,0 | -100% |
| Yazma | 0,0 | 0,0 | -100% |
| Bellek (KB) | 1.648,0 | 1.024,0 | -38% |
| Tempdb (KB) | 641,4 | 0,0 | -100% |
| DOP | 1,0 | 1,0 | 0% |
| Satır ort. | 8,8 | 15,8 | +80% |
| Satır maks. | 20,0 | 20,0 | 0% |
| Dönem | 7.10.2026 20:00 → 7.10.2026 21:00 | 8.10.2026 09:00 → 8.10.2026 18:00 |
Bekleme kategorileri
ms / çalışma| Bekleme kategorisi | Eski plan (66753) | Yeni plan (70259) |
|---|---|---|
| Memory | 0,9 | 2,3 |
| Preemptive | 0,9 | 0,7 |
| CPU | 0,0 | 0,0 |
| Buffer IO | – | 0,0 |
| Other Disk IO | 1,1 | – |
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 | |
|---|---|---|---|---|---|---|
| IndexCreated | rag.Document.IX_Document_Pair | 7.10.2026 16:18 | hayır | hayır | ||
| StatsUpdated | rag.Chunk.PK_Chunk | 6.10.2026 22:04 | → 2081/4955 | evet | evet | |
| StatsUpdated | rag.Chunk.PK_Chunk | 7.10.2026 16:19 | → 1821/4674 | evet | evet | |
| StatsUpdated | rag.Chunk.PK_Chunk | 7.10.2026 20:46 | → 2660/5254 | evet | evet | |
| StatsUpdated | rag.Chunk.UQ_Chunk_DocSeq | 6.10.2026 22:04 | → 2612/4955 | evet | evet | |
| StatsUpdated | rag.Chunk.UQ_Chunk_DocSeq | 7.10.2026 16:19 | → 2578/4674 | evet | evet | |
| StatsUpdated | rag.Chunk.UQ_Chunk_DocSeq | 7.10.2026 20:46 | → 2695/5254 | evet | evet | |
| StatsUpdated | rag.Chunk._WA_Sys_00000007_49309088 | 6.10.2026 22:05 | → 2609/4955 | hayır | hayır | |
| StatsUpdated | rag.Chunk._WA_Sys_00000007_49309088 | 7.10.2026 16:19 | → 2600/4753 | hayır | hayır | |
| StatsUpdated | rag.Chunk._WA_Sys_00000007_49309088 | 7.10.2026 20:47 | → 2697/5254 | hayır | hayır | |
| StatsUpdated | rag.Chunk._WA_Sys_00000003_49309088 | 6.10.2026 22:04 | → 2081/4955 | evet | evet | |
| StatsUpdated | rag.Chunk._WA_Sys_00000003_49309088 | 7.10.2026 16:19 | → 1821/4674 | evet | evet | |
| StatsUpdated | rag.Chunk._WA_Sys_00000003_49309088 | 7.10.2026 20:46 | → 2660/5254 | evet | evet | |
| StatsUpdated | rag.Document.PK_Document | 7.10.2026 10:27 | → 4186/4186 | evet | evet | |
| StatsUpdated | rag.Document.UQ_Document_Source | 7.10.2026 13:59 | → 4185/4185 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000A_428392F9 | 6.10.2026 19:19 | → 4189/4189 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000A_428392F9 | 7.10.2026 20:11 | → 4226/4226 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000003_428392F9 | 7.10.2026 10:27 | → 4190/4190 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000005_428392F9 | 6.10.2026 22:02 | → 4187/4187 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000005_428392F9 | 7.10.2026 16:19 | → 4185/4185 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000005_428392F9 | 7.10.2026 21:00 | → 4317/4317 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_0000000D_428392F9 | 7.10.2026 13:53 | → 4185/4185 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000E_428392F9 | 7.10.2026 13:59 | → 4191/4191 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000006_428392F9 | 6.10.2026 22:02 | → 4187/4187 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000006_428392F9 | 7.10.2026 16:19 | → 4185/4185 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000006_428392F9 | 7.10.2026 21:00 | → 4317/4317 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_0000000F_428392F9 | 7.10.2026 18:52 | → 4225/4225 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000007_428392F9 | 6.10.2026 22:07 | → 4187/4187 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000007_428392F9 | 7.10.2026 16:18 | → 4187/4187 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000007_428392F9 | 7.10.2026 21:02 | → 4418/4418 | evet | evet | |
| StatsUpdated | rag.Document._WA_Sys_00000010_428392F9 | 7.10.2026 16:18 | → 4185/4185 | hayır | hayır | |
| StatsUpdated | rag.Document._WA_Sys_00000010_428392F9 | 7.10.2026 20:56 | → 4315/4315 | hayır | hayır | |
| TableGrowth | rag.Document | 7.10.2026 00:00 – 8.10.2026 00:00 | 4225|11.34 → 4459|11.91 | bilinmiyor | bilinmiyor | |
| TableGrowth | rag.Chunk | 7.10.2026 00:00 – 8.10.2026 00:00 | 5235|42.70 → 5541|46.20 | bilinmiyor | bilinmiyor |
3. Plan karşılaştırması
- Yalnız eski planda erişim: rag.Document Index Scan [UQ_Document_Source]; rag.Document Clustered Index Seek [PK_Document] (lookup); rag.Chunk Index Seek [UQ_Chunk_DocSeq]; rag.Chunk Clustered Index Seek [PK_Chunk] (lookup)
- Yalnız yeni planda erişim: rag.Chunk Clustered Index Seek [PK_Chunk]; rag.Document Clustered Index Seek [PK_Document]
- Yalnız eski planda join: Merge Join (Inner Join); Nested Loops (Inner Join) ×3
- Yalnız yeni planda join: Nested Loops (Inner Join) ×2
- Tahmini maliyet: 0.238 → 0.022; tahmini satır: 1 → 1
- 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.Chunk.PK_Chunk, rag.Document.PK_Document
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-07 20:46 (örnekleme %50.6); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Chunk.PK_Chunk 2026-10-07 20:46 güncellendi (örnekleme %50.6); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Chunk.UQ_Chunk_DocSeq güncellendi 2026-10-07 20:46 (örnekleme %51.3); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Chunk.UQ_Chunk_DocSeq 2026-10-07 20:46 güncellendi (örnekleme %51.3); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Chunk._WA_Sys_00000003_49309088 güncellendi 2026-10-07 20:46 (örnekleme %50.6); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Chunk._WA_Sys_00000003_49309088 2026-10-07 20:46 güncellendi (örnekleme %50.6); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document.PK_Document güncellendi 2026-10-07 10:27 (örnekleme %100) | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document.PK_Document 2026-10-07 10:27 güncellendi (örnekleme %100); planlar bu istatistiği kullanıyor. |
| STATS | rag.Document.UQ_Document_Source güncellendi 2026-10-07 13:59 (örnekleme %100) | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document.UQ_Document_Source 2026-10-07 13:59 güncellendi (örnekleme %100); planlar bu istatistiği kullanıyor. |
| STATS | rag.Document._WA_Sys_0000000A_428392F9 güncellendi 2026-10-07 20:11 (örnekleme %100); pencerede 2 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_0000000A_428392F9 2026-10-07 20:11 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-07 21:00 (örnekleme %100); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_00000005_428392F9 2026-10-07 21:00 güncellendi (örnekleme %100); pencerede 3 güncelleme; planlar bu istatistiği kullanıyor. |
| STATS | rag.Document._WA_Sys_0000000E_428392F9 güncellendi 2026-10-07 13:59 (örnekleme %100) | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_0000000E_428392F9 2026-10-07 13:59 güncellendi (örnekleme %100); planlar bu istatistiği kullanıyor. |
| STATS | rag.Document._WA_Sys_00000007_428392F9 güncellendi 2026-10-07 21:02 (örnekleme %100); pencerede 3 güncelleme | değişimden önceki 48 saat | destekliyor | İstatistik rag.Document._WA_Sys_00000007_428392F9 2026-10-07 21:02 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_00000006_428392F9, rag.Document._WA_Sys_0000000F_428392F9 (+1). | |
| INDEX_NEWmekanik | rag.Document.IX_Document_Pair oluştu 2026-10-07 16:18; yeni plan kullanmıyor | değişimden önceki 48 saat | desteklemiyor | rag.Document.IX_Document_Pair 2026-10-07 16:18 oluştu, değişimden 17 saat önce; yeni plan bu index'i kullanmıyor. |
| GROWTH | rag.Document: satır 4,225 → 4,459 (%+6), boyut 11.34 → 11.91 MB (%+5) | ≥ %20 | desteklemiyor | rag.Document eski planın döneminden değişime kadar satır %+6, boyut %+5 değişti (2026-10-07 → 2026-10-08). |
| GROWTH | rag.Chunk: satır 5,235 → 5,541 (%+6), boyut 42.7 → 46.2 MB (%+8) | ≥ %20 | desteklemiyor | rag.Chunk eski planın döneminden değişime kadar satır %+6, boyut %+8 değişti (2026-10-07 → 2026-10-08). |
| WORKLOAD | çalışma başına satır 8.76 → 15.78 (1.8×) | ≥ 2× | desteklemiyor | Çalışma başına satır benzer (8.76 → 15.78): 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
- INDEX_UNUSED (bilgi): rag.Document.IX_Document_Pair pencerede oluştu ama yeni plan onu kullanmıyor: aday elendi.
- WORK_PROPORTIONAL (güçlü): Çalışma başına satır 1.8×, süre 1.46× değişti; satır başına süre 2.0344 → 1.6515 ms: süre farkı işlenen veri miktarından, plandan değil.
6. Korpus metni önizlemesi
onaylanınca RAG hafızasına bu metin girer (başlığa onaylayan eklenir)Plan change case #P443 | DB: DB-11 | Regression | Confidence: Low (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.KbChunkText, 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-08 09:00 UTC, plan 66753 → 70259, pattern: Transition Impact (Query Store, per execution): duration 17.8 → 26.1 ms (+46%); CPU 16.8 → 25.9 ms (+54%); reads 2,401 → 3,902 (+63%); rows 8.76 → 15.78 (+80%) Plan difference: Access only in the old plan: rag.Document Index Scan [UQ_Document_Source]; rag.Document Clustered Index Seek [PK_Document] (lookup); rag.Chunk Index Seek [UQ_Chunk_DocSeq]; rag.Chunk Clustered Index Seek [PK_Chunk] (lookup); Access only in the new plan: rag.Chunk Clustered Index Seek [PK_Chunk]; rag.Document Clustered Index Seek [PK_Document]; Join only in the old plan: Merge Join (Inner Join); Nested Loops (Inner Join) ×3; Join only in the new plan: Nested Loops (Inner Join) ×2 Candidate cause: STATS — Statistic rag.Chunk.PK_Chunk was updated 2026-10-07 20:46 (sampled 50.6%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Chunk.UQ_Chunk_DocSeq was updated 2026-10-07 20:46 (sampled 51.3%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Chunk._WA_Sys_00000003_49309088 was updated 2026-10-07 20:46 (sampled 50.6%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document.PK_Document was updated 2026-10-07 10:27 (sampled 100%); the plans use this statistic. Candidate cause: STATS — Statistic rag.Document.UQ_Document_Source was updated 2026-10-07 13:59 (sampled 100%); the plans use this statistic. Candidate cause: STATS — Statistic rag.Document._WA_Sys_0000000A_428392F9 was updated 2026-10-07 20:11 (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-07 21:00 (sampled 100%); 3 updates in the window; the plans use this statistic. Candidate cause: STATS — Statistic rag.Document._WA_Sys_0000000E_428392F9 was updated 2026-10-07 13:59 (sampled 100%); the plans use this statistic. Candidate cause: STATS — Statistic rag.Document._WA_Sys_00000007_428392F9 was updated 2026-10-07 21:02 (sampled 100%); 3 updates in the window; the plans use this statistic. Counter-evidence: INDEX_UNUSED — rag.Document.IX_Document_Pair was created in the window but the new plan does not use it: candidate ruled out. Counter-evidence: WORK_PROPORTIONAL — Rows per execution changed 1.8× and duration 1.46×; duration per row 2.0344 → 1.6515 ms: the duration difference comes from the amount of data processed, not the plan. 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.