KB4051361 - SQL Server 2014, 2016 ve 2017'de eklenen sorgu yürütme planındaki iyileştirici satır hedefi bilgileri

Uygulandığı Öğe
SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Özet

SQL Server 2017 Toplu Güncelleştirmesi 3 (CU3) ve Microsoft SQL Server 2016 Service Pack 2'ye (SP2) yeni EstimateRowsWithoutRowGoal sorgu yürütme planı özniteliğini ekleyin.

Sorgu İyileştiricisi bir sorgu yürütme planının maliyetini tahmin ettiğinde, genellikle tüm kaynaklardan gelen tüm uygun satırların işlenmesi gerektiğini varsayar. Ancak, bazı sorgular Sorgu İyileştiricisinin daha az sayıda satırı daha hızlı döndürecek bir planı aramasına neden olur. Bu sorun; TOP yan tümcesi, FAST number_rows sorgu ipucu, IN veya EXISTS yan tümcesi ya daSET ROWCOUNT { number | @number\_var } deyimi kullanıyorsa oluşabilir. Bu durumda, iyileştirici sorgu planını tahmin ederken bir satır hedefi kullanıyor demektir. Satır hedefi planı uygulanırsa, sorgu yürütme planındaki tahmini satır sayısı azalır. Bunun nedeni, planda satır hedefine ulaşmak için daha az sayıda satırın işlenmesi gerektiğini varsaymasıdır.

Notlar Satır hedefi kullanılarak yapılan tahmin yaklaşıktır. Gerçek veri dağılımı tekdüze değilse, işlenmesi gereken gerçek satır sayısından daha az olabilir. Bu nedenle de verimsiz bir sorgu planı oluşturabilir. Bu sorun için geçici çözüm olarak İPUCU KULLAN ('DISABLE_OPTIMIZER_ROWGOAL') sorgu seçeneğini veya İzleme Bayrağı 4138'i kullanabilirsiniz.

Daha fazla bilgi için bkz: Güncelleştirme SQL ServerSQL Server 2016'da USE HINT sorgu ipucu bağımsız değişkenini tanıtıyor. Bununla birlikte, karmaşık sorgularda satır hedefinin uygulanıp uygulanmadığını ve plan seçimini ne kadar etkilediğini belirlemek zor olabilir.

EstimateRowsWithoutRowGoal özniteliğini kullanarak, satır hedefinin Sorgu İyileştiricisi tahminlerini ne kadar etkilediğini görmek için sonuçları EstimateRows özniteliğinin sonuçlarıyla karşılaştırabilirsiniz.

Notlar Satır hedefi belirli bir sorgu planı işlecine uygulanmazsa, bu öznitelik dahil edilmez.

Daha Fazla Bilgi

Bu güncelleştirme, aşağıdaki SQL Server toplu güncelleştirmesine eklenmiştir:

Cumulative Update 3 for SQL ServerSQL Server 2017

SQL Server toplu güncelleştirmeleri hakkında:

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:

En son toplu güncelleştirme SQL ServerSQL Server 2017

Service pack information for SQL ServerSQL Server

Bu güncelleştirme, aşağıdaki SQL Server hizmet paketlerinde bulunmaktadır:

Service Pack 2 for SQL ServerSQL Server 2016

Service Pack 3 for SQL ServerSQL Server 2014

SQL Server için hizmet paketleri hakkında:

Hizmet paketleri birikimlidir. Her yeni hizmet paketi, yeni düzeltmelerle birlikte önceki hizmet paketlerindeki düzeltmeleri de içerir. Önerimiz, en son hizmet paketini ve bu hizmet paketine yönelik en son toplu güncelleştirmeyi uygulamanızdır. En son hizmet paketini yüklemeden önce önceki bir hizmet paketini yüklemenize gerek yoktur. En son hizmet paketi ve en son toplu güncelleştirme hakkında daha fazla bilgi bulmak için aşağıdaki makalede yer alan Tablo 1'i kullanın.

SQL Server ve bileşenlerinin sürüm, sürüm ve güncelleştirme düzeyini belirleme

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.