Analiz #1190
BittiHedef: sorgu 0x2FD5B060B5EA5C2B · DB-10 · dönem 2026-10-03 → 2026-10-09
Çalıştırma
- Model
- gemma4:12b (gemma4)Kurum içi
- Prompt şablonu
- #16
- Token (giriş / çıkış)
- 28.370 / 2.049
- Süre
- 160,2 sn
- Onarım
- 1
- Kural bulgusu
- 5
- Getirim (bağlama giren)
- KB 3 · profil 0 · vaka 0
Özet
güven: OrtaSorgu performansı, sistem tabloları üzerindeki gizli dönüşümler (implicit conversion) ve SARG'a olmayan (non-sargable) ifadeler nedeniyle olumsuz etkilenmektedir.
- İstem modelin context sınırına dayandı (12.645 token; context 16.384 − üretim sınırı 4.328): istemin başı (sistem kuralları) kesilmiş olabilir; karakter/token ölçümü alınmadı. Profilin context değerini büyütün ya da Analysis.CharsPerToken'ı düşürün.
- Bağlam bütçesi yetmedi; analiz eksik bağlamla yapıldı: "Bilgi tabanı" kırpıldı (5.321 / 19.786 karakter çıkarıldı), "Benzer sorgular (QDS profilleri, aynı ortam)" çıkarıldı (27.048 karakter). Tam bağlam için LLM profilinin bağlam boyunu artırın (şu an 16.384 token).
- Güven high → medium: tablo, kolon ve index bilgisi (metadata) yok.
Kök nedenler
- sys.sysobjvalues tablosu üzerindeki değerlerin dönüştürülmesi sırasında meydana gelen gizli tip dönüşümleri (implicit conversion) nedeniyle tahmin hataları ve performans kaybı yaşanmaktadır. F1, F2
- Sorgu içerisindeki 'v.boundary_id = pf.fanout - 1' ve 'v.boundary_id = st.FirstData - 1' ifadeleri SARG'a uygun değildir, bu durum indeks kullanımını kısıtlamaktadır. F4, F5
- sys.sysrowsets tablosundaki 'Clustered Index Scan' işlemi planın %31.6'lık kısmını oluşturarak performans darboğazı yaratmaktadır. F3
Bulgular
5 bulgu| Id | Ciddiyet | Kural | Başlık | Kanıt |
|---|---|---|---|---|
| F1 | orta | IMPLICIT_CONVERSION | Örtük tip dönüşümü (implicit conversion) | Cardinality Estimate: CONVERT(datetime2(7),[DB-10].[sys].[sysobjvalues].[value],0) |
| F2 | orta | IMPLICIT_CONVERSION | Örtük tip dönüşümü (implicit conversion) | Cardinality Estimate: CONVERT(nvarchar(100),[DB-10].[sys].[sysobjvalues].[value],0) |
| F3 | düşük | COST_HOTSPOT | Maliyet odağı: planın en pahalı operatörü | NodeId 44 Clustered Index Scan sys.sysrowsets.clust: planın %31,6'i bu operatörde (tahmini 80 satır; sorgunun ort. CPU'su 1.517,5 ms). Diğer kurallar bu operatör için bilinen bir desen bulmadı. Tablo/index taranıyor: koşulu karşılayan index yok ya da koşul seçici değil; tablo büyük tablo eşiğinin altında olsa da planın en pahalı adımı bu. Residual predicate: [DB-10].[sys].[sysrowsets].[idmajor] as [rs].[idmajor]=[DB-10].[sys].[sysidxstats].[id] as [i].[id] AND [DB-10].[sys].[sysrowse…. |
| F4 | düşük | NON_SARGABLE | Kolon üzerinde fonksiyon/ifade (sargable değil) | Satır 7: v.boundary_id = pf.fanout - 1 |
| F5 | düşük | NON_SARGABLE | Kolon üzerinde fonksiyon/ifade (sargable değil) | Satır 9: v.boundary_id = st.FirstData - 1 |
Plan özeti
Plan tipi: tahmini; statement sayısı 1; toplam maliyet 0,9; tahmini satır 1,5 CE sürümü: 170; DOP: ?; paralel değil: MaxDOPSetToOne Memory grant (KB): istenen 544 (tahmini plan; verilen/kullanılan yalnız actual planda) Operatörler (maliyet sırasıyla): Uyarılar: - PlanAffectingConvert: Cardinality Estimate: CONVERT(datetime2(7),[DB-10].[sys].[sysobjvalues].[value],0) - PlanAffectingConvert: Cardinality Estimate: CONVERT(nvarchar(100),[DB-10].[sys].[sysobjvalues].[value],0) - PlanAffectingConvert: Cardinality Estimate: CONVERT(datetime2(7),[DB-10].[sys].[sysobjvalues].[value],0) - PlanAffectingConvert: Cardinality Estimate: CONVERT(nvarchar(100),[DB-10].[sys].[sysobjvalues].[value],0) - PlanAffectingConvert: Cardinality Estimate: CONVERT(datetime2(7),[DB-10].[sys].[sysobjvalues].[value],0) - PlanAffectingConvert: Cardinality Estimate: CONVERT(nvarchar(100),[DB-10].[sys].[sysobjvalues].[value],0)
Benzer vakalar
LLM bağlamına girdi; örnektir, kanıt değildirBağlama benzer vaka girmedi.
Analizi güçlendirecek ek bilgiler
isteğe bağlı; verilirse yeniden analiz edin- Plan tahmini (estimated): actual plan verilirse gerçek satır ve çalışma sayılarıyla tahmin hataları doğrulanır; kurallar şu an optimizer tahminlerine dayanıyor.
Öneriler
Korpusa ve LLM bağlamına bu analizin İngilizce çevirisi girer; onaylanmadan vaka korpusa girmez.
Korpusa yalnız onaylanmış ya da uygulanıp sahada izi görülen çözüm girer; aynı sorgunun yalnız en son onaylanan analizi korpusta kalır.
Korpusa girerse yaklaşık 43 sorgunun benzer vaka listesine girebilir.
1 öneri doğrulamadan geçemedi
Doğrulayıcı bu önerileri geçersiz buldu (nedeni kartta). Uygulanmamalı. Script'i olan geçersiz öneri reddedilerek inceleme kuyruğundan çıkarılır.
T-SQL refactor — güvenilir öneri üretilemedi
geçersiz karar bekliyorModel SQL'i doğrulamadan geçmedi; hatalı sorgu kopyalanmasın diye gösterilmiyor. Bulgular ve kök nedenler neyin düzeltilmesi gerektiğini anlatır. Refactor geçersiz (onarım sonrası da) nvarchar(100) dönüşümünün style'ı değişti (orijinal 121, refactor 111/yok): style değerin nasıl okunacağını belirler (ör. binary için 1 = "0x…" hex metin, 0 = karakter baytları); sonuç değişir. sys.index_columns orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.columns orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.partition_parameters orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.partition_range_values orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.dm_db_partition_stats orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.indexes orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.objects orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.partition_schemes orijinal sorguda da metadata'da yoktu; doğrulanamadı. sys.partition_functions orijinal sorguda da metadata'da yoktu; doğrulanamadı. Onarım yanıtı geçersiz: Invalid JSON: Expected end of string, but instead reached end of data. Path: $.refactor.sql | LineNumber: 26 | BytePositionInLine: 1039.
Uygulanabilir script yok: öneriyi onaylayın ya da gerekçeyle reddedin (karar vaka hafızasına girer); "Uygulandı" kaydı tutulmaz.
Asistana sor
yalnız bu analizin kanıtıylaBu analiz hakkında soru sorun: cevap yalnız bulgulara (F), önerilere (R), sorgu, plan ve metadata'ya dayanır; kanıt gösteremeyen cevap gösterilmez.