«cardinality-estimates» etiketlenmiş sorular

1
SQL Server 2014: tutarsız öz katılım kardinalite tahmini için herhangi bir açıklama?
SQL Server 2014'te aşağıdaki sorgu planını göz önünde bulundurun: Sorgu planında, bir birleştirme ar.fId = ar.fIdbir 1 satır tahmini verir. Bununla birlikte, bu bir mantıksal tutarsız tahmindir: arsahip 20,608satır ve tek bir ayrı değer fId(doğru istatistik yansıtılır). Bu nedenle, bu birleştirme, satırın ( ~424MMsatırların) tam çarpımını üreterek sorgunun birkaç saat …

2
LEN () neden SQL Server 2014’te kardinalliği önemsiz kılıyor?
Bir dize sütunu olan bir tablo ve belirli bir uzunlukta satırları denetleyen bir yüklemem var. SQL Server 2014'te, kontrol ettiğim uzunluktan bağımsız olarak 1 satırlık bir tahmin görüyorum. Bu çok kötü planlar veriyor çünkü aslında binlerce hatta milyonlarca satır var ve SQL Server bu tabloyu iç içe bir döngünün dış …


2
LIKE operatörü için Kardinalite Tahmini (Yerel Değişkenler)
LIKEİşleci bilinmeyen senaryolar için tüm optimizasyonlarda kullanırken hem eski hem de yeni CE'lerin% 9'luk bir tahmin kullandığı izlenimi altındaydım (ilgili istatistiklerin mevcut olduğunu ve sorgu iyileştiricinin seçicilik tahminlerine başvurmak zorunda olmadığını varsayarak). Kredi veritabanına karşı aşağıdaki sorgu yürütülürken, farklı CE'ler altında farklı tahminler alıyorum. Yeni CE kapsamında beklediğim 900 satırlık …

2
Birleştirme operatörü neden girdilerinden daha az satır tahmin ediyor?
Aşağıdaki sorgu planı snippet'inde, Concatenationişleç için satır tahmininin ~4.3 billion rowsveya iki girişi için satır tahminlerinin toplamının olması gerektiği açıktır . Bununla birlikte, yüzlerce GB veriyi tempdb'ye döken ~238 million rowsbir alt optimal Sort/ Stream Aggregatestratejiye yol açan bir tahmin üretilir . Bu durumda mantıksal olarak tutarlı bir tahmin, bir …

3
Bu birleşme kardinalite tahmini neden bu kadar büyük?
Aşağıdaki sorgu için inanılmaz derecede yüksek bir kardinalite tahmini olduğunu düşünüyorum yaşıyorum: SELECT dm.PRIMARY_ID FROM ( SELECT COALESCE(d1.JOIN_ID, d2.JOIN_ID, d3.JOIN_ID) PRIMARY_ID FROM X_DRIVING_TABLE dt LEFT OUTER JOIN X_DETAIL_1 d1 ON dt.ID = d1.ID LEFT OUTER JOIN X_DETAIL_LINK lnk ON d1.LINK_ID = lnk.LINK_ID LEFT OUTER JOIN X_DETAIL_2 d2 ON dt.ID = …

1
“Kardinalite Tahmini” sorgu planında uyarı
create table T(ID int identity primary key) insert into T default values insert into T default values go select cast(ID as varchar(10)) as ID from T where ID = 1 Yukarıdaki sorguda sorgu planında bir uyarı var. <Warnings> <PlanAffectingConvert ConvertIssue="Cardinality Estimate" Expression="CONVERT(varchar(10),[xx].[dbo].[T].[ID],0)" /> </Warnings> Neden uyarıyor? Alan listesinde yer alan …


1
Histogram dışındaki kardinalite tahmini
Kurmak Bir kardinalite tahminini anlamakta sorun yaşıyorum. İşte benim test kurulumum: Stack Overflow veritabanının 2010 sürümü SQL Server 2017 CU15 + GDR (KB4505225) - 14.0.3192.2 yeni CE (uyumluluk seviyesi 140) Bu proc var: USE StackOverflow2010; GO CREATE OR ALTER PROCEDURE #sp_PostsByCommentCount @CommentCount int AS BEGIN SELECT * FROM dbo.Posts p …

1
Dökülenleri tempdb'ye göre sıralayın, ancak tahmini satırlar gerçek satırlara eşittir
Maksimum belleği 25 GB olarak ayarlanmış bir SQL Server 2016 SP2'de, dakikada yaklaşık 80 kez çalışan bir sorgumuz var. Sorgu tempdb'ye yaklaşık 4000 sayfa döküyor. Bu tempdb diskinde çok sayıda IO'ya neden olur. Bir baktığınızda sorgu planı (simplied sorgu) tahmini sıra sayısı fiili satır sayısına eşit olduğunu görürüz ancak yine …

1
Kısmen kapsama aralığının tahmin tahmini
Şu anda SQL Server'ın histogram adımını kısmen kaplayan aralıkların kardinalliğini nasıl değerlendirdiğini anlamaya çalışıyorum. İnternette, adım içi ve istatistik içi kardinalite tahmininde benzer bir soruya rastladım ve Paul White buna oldukça ilginç bir cevap verdi. Paul'un cevabına göre,> = ve> tahminleri için kardinalliği tahmin etmeye yönelik formüller (bu durumda, sadece …

2
İç birleşimde kardinalite tahmin problemi
Satır tahmininin neden bu kadar korkunç olduğunu anlamak için uğraşıyorum, işte benim durumum: Basit birleştirme - SQL Server 2016 sp2 (sp1'de aynı sorun) kullanarak, dbcompatiblity = 130. select Amount_TransactionCurrency_id, CurrencyShareds.id from CurrencyShareds INNER JOIN annexes ON Amount_TransactionCurrency_id = CurrencyShareds.Id option (QUERYTRACEON 3604, QUERYTRACEON 2363); SQL 1 satırı tahmin ederken 107131 …

1
SQL Server 2016'da SUBSTRING () içeren tahminlerdeki değişikliklerde değişiklik var mı?
SUBSTRING () veya diğer dize işlevlerini içeren tahminler için SQL Server 2016'da kardinalitenin nasıl tahmin edildiğine dair değişiklikler hakkında herhangi bir belge veya araştırma var mı? Sormamın nedeni, performansı uyumluluk modunda 130 bozulan bir sorguya bakmam ve nedeni SUBSTRING () çağrısını içeren bir WHERE yan tümcesi ile eşleşen satırların sayısındaki …

1
SQL Server'ın optimize edici, birleştirilmiş tablodaki satır sayısını nasıl tahmin eder?
Bu sorguyu AdventureWorks2012 veritabanında çalıştırıyorum: SELECT s.SalesOrderID, d.CarrierTrackingNumber, d.ProductID, d.OrderQty FROM Sales.SalesOrderHeader s JOIN Sales.SalesOrderDetail d ON s.SalesOrderID = d.SalesOrderID WHERE s.CustomerID = 11077 Tahmini yürütme planına bakarsam aşağıdakileri görürüm: İlk dizin araması (sağ üstte) IX_SalesOrderHeader_CustomerID dizinini kullanıyor ve 11077 değişmez değerini arıyor. Tahmini 2.6192 satır. Kullanmak ise DBCC SHOW_STATISTICS …

3
Sorgu 100x yavaş SQL Server 2014, satır sayısı biriktirme satır suçlu tahmin?
SQL Server 2012'de 800 milisaniyede çalışan ve SQL Server 2014'te yaklaşık 170 saniye süren bir sorgu var . Bunu Row Count Spooloperatör için kötü bir kardinalite tahminine daralttığımı düşünüyorum . Makara operatörleri hakkında biraz okudum (örneğin, burada ve burada ), ancak hala birkaç şeyi anlamada sorun yaşıyorum: Bu sorgu neden …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.