Aracılığıyla paylaş


SQL veritabanlarında akıllı sorgu işleme

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Akıllı sorgu işleme (IQP) özellik ailesi, benimsemek için en az uygulama çabasıyla mevcut iş yüklerinin performansını geliştiren geniş kapsamlı etkiye sahip özellikler içerir. Aşağıdaki grafikte, IQP özelliklerinin ailesi ve SQL Server için ilk tanıtıldıkları zaman ayrıntıları verilmektedir. Tüm IQP özellikleri Azure SQL Yönetilen Örneği ve Azure SQL Veritabanı'nda kullanılabilir. Bazı özellikler veritabanının uyumluluk düzeyine bağlıdır.

Akıllı sorgu işleme ailesindeki özellikleri ve BUNLARıN SQL Server'da ne zaman tanıtıldığını gösteren diyagram.

Akıllı sorgu işlemeye genel bakış için bu videoyu izleyin:

 

GitHub'da akıllı sorgu işleme (IQP) özelliklerinin tanıtımları ve örnek kodu için adresini ziyaret edin https://aka.ms/IQPDemos.

Veritabanı için geçerli veritabanı uyumluluk düzeyini etkinleştirerek iş yüklerini akıllı sorgu işleme için otomatik olarak uygun hale getirebilirsiniz. Transact-SQL kullanarak bunu ayarlayabilirsiniz. Örneğin:

ALTER DATABASE [WideWorldImportersDW]
    SET COMPATIBILITY_LEVEL = 170;

Aşağıdaki tabloda tüm akıllı sorgu işleme özelliklerinin yanı sıra veritabanı uyumluluk düzeyine yönelik gereksinimleri de ayrıntılı olarak açıklandı. Sürüm notları ve daha ayrıntılı açıklamalar da dahil olmak üzere tüm IQP özellikleri hakkında ayrıntılı bilgi için bkz. Akıllı sorgu işleme özellikleri ayrıntılı olarak.

Azure SQL Veritabanı ve SQL Server 2025 için IQP özellikleri

IQP Özelliği Azure SQL Veritabanı'nda desteklenir SQL Server 2025'te (17.x) desteklenir Description
İsteğe bağlı parametre planı iyileştirme (OPPO) No Evet, uyumluluk düzeyi 170 olan SQL Server 2025 (17.x) ile başlayarak Tek bir deyimden birden çok plan oluşturan Parametreye Duyarlı Plan İyileştirme (PSPO) geliştirmesiyle tanıtılan uyarlamalı plan iyileştirme (Multiplan) altyapısından yararlanıyor. Özellik, bir parametrenin NULL OR NOT NULLolup olmadığına bağlı olarak çalışma zamanında daha uygun bir plan seçebilir ve bu da bu tür sorgu desenleri için varsayılan olarak en iyi olmayan performansa sahip sorgular için performansı artırır.
İfadeler için kardinalite tahmini (CE) geri bildirimi No Evet, uyumluluk düzeyi 160 olan SQL Server 2025 (17.x) ile başlayarak Önceki yürütmelerden ders alarak ve bu ifadelerin gelecekteki yürütmelerine uygun CE modeli seçeneklerini otomatik olarak uygulayarak sorgular arasında yinelenen ifadeler için kardinalite tahminlerini geliştirmek için CE geri bildirimini genişletir
OPTIMIZED_SP_EXECUTESQL Yes Evet, SQL Server 2025 (17.x) ile başlayarak Derleme fırtınalarının etkisini etkili bir şekilde azaltın. Derleme fırtınası, çok sayıda sorgunun aynı anda derlendiği ve performans sorunlarına ve kaynak çekişmesiyle sonuçlanan bir durumdur. Bu özelliği etkinleştirin, böylece sp_executesql çağrıların derleme perspektifinden saklı yordamlar ve tetikleyiciler gibi nesneler gibi davranmasına izin verin.

Azure SQL Veritabanı ve SQL Server 2022 için IQP özellikleri

IQP Özelliği Azure SQL Veritabanı'nda desteklenir SQL Server 2022 (16.x) ve sonraki sürümlerde desteklenir Description
Uyarlamalı Birleşimler (Toplu İş Modu) Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Evet, SQL Server 2017'den (14.x) başlayarak veritabanı uyumluluk düzeyi 140 Uyarlamalı birleşimler, çalışma zamanı sırasında gerçek giriş satırlarına göre dinamik olarak bir birleştirme türü seçer.
Yaklaşık Sayı Ayrı Yes Evet, SQL Server 2019'dan (15.x) başlayarak Yüksek performans ile düşük bellek tüketimi avantajıyla büyük veri senaryoları için tahminî COUNT DISTINCT sağlayın.
Yaklaşık Yüzdebirlik Evet, veritabanı uyumluluk düzeyi 110'dan başlayarak Evet, SQL Server 2022'den (16.x) başlayarak uyumluluk düzeyi 110 Yaklaşık yüzdebirlik toplama işlevlerini kullanarak hızlı kararlar alınmasına yardımcı olmak için kabul edilebilir derece tabanlı hata sınırlarına sahip büyük bir veri kümesinin yüzdebirlik dilimlerini hızla hesaplayın.
Rowstore'da Batch Modu Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Evet, SQL Server 2019'dan (15.x) başlayarak uyumluluk düzeyi 150 Columnstore dizinlerine gerek kalmadan CPU'ya bağlı ilişkisel DW iş yükleri için toplu iş modu sağlayın.
Kardinalite tahmini (CE) geri bildirimi Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Evet, SQL Server 2022'den (16.x) başlayarak uyumluluk düzeyi 160 Verimsiz CE varsayımlarının düşük sorgu performansına neden olduğu iş yüklerini iyileştirmek için yinelenen sorgular için kardinalite tahminlerini otomatik olarak ayarlar. CE geri bildirimi, sorgu yürütme planı kalitesini geliştirmek için belirli bir sorguya ve veri dağıtımına daha uygun bir model varsayımı belirler ve kullanır.
Paralellik derecesi (DOP) geri bildirim Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Verimsiz paralelliğin performans sorunlarına neden olabileceği iş yükleri için iyileştirme yapmak üzere yinelenen sorgular için paralellik derecesini otomatik olarak ayarlar. Sorgu Deposu'un etkinleştirilmesini gerektirir.
Aralıklı Yürütme Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Evet, SQL Server 2017'den (14.x) başlayarak veritabanı uyumluluk düzeyi 140 Sabit bir tahmin yerine, ilk derlemede karşılaşılan çok deyimli tablo değerli fonksiyonun gerçek kardinalitesini kullanır.
Bellek tahsis geri bildirimi (Batch Modu) Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Evet, SQL Server 2017'den (14.x) başlayarak veritabanı uyumluluk düzeyi 140 Toplu iş modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.
Bellek tahsis geri bildirimi (Satır Modu) Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Evet, SQL Server 2019'dan (15.x) başlayarak veritabanı uyumluluk düzeyi 150 Satır modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.
Bellek verme geri bildirimi (Yüzdebirlik) Evet, tüm veritabanlarında etkin Evet, veritabanı uyumluluk düzeyi 140 olan SQL Server 2022 (16.x) ile başlayarak Geçmiş sorgu yürütmeyi dahil ederek, bellek verme geri bildiriminin mevcut sınırlamalarını müdahale etmeden iyileştirir.
Memory Grant Geri Bildirimi Kalıcılığı Evet, tüm veritabanlarında etkin Evet, veritabanı uyumluluk düzeyi 140 olan SQL Server 2022 (16.x) ile başlayarak Bellek tahsisi geri bildirimini kalıcılaştıran yeni işlevler sağlar. Veritabanı için READ_WRITE modunda Sorgu Deposu'nun etkinleştirilmesi gereklidir.
CE geri bildirimi kalıcılığı Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Evet, veritabanı uyumluluk düzeyi 160 olan SQL Server 2022 (16.x) ile başlayarak Veritabanı için READ_WRITE modunda Sorgu Deposu'nun etkinleştirilmesi gereklidir.
Query Store ile optimize edilmiş plan uygulama Yes Evet, SQL Server 2022 (16.x) ile başlayarak. Zorlamalı sorguların yinelenmesi için derleme ek yükünü azaltır. Daha fazla bilgi için Sorgu Deposu ile En İyi Duruma Getirilmiş Plan Zorlama başlıklı bölüme bakın.
Skaler UDF Satır İçi Yerleştirme Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Evet, SQL Server 2019'dan (15.x) başlayarak veritabanı uyumluluk düzeyi 150 Skaler UDF'ler, çağrı sorgusuna "inlined" eşdeğer ilişkisel ifadelere dönüştürülür ve bu da genellikle önemli performans kazanımlarına neden olur.
Parametreye Duyarlı Plan optimizasyonu Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Evet, SQL Server 2022'den (16.x) başlayarak veritabanı uyumluluk düzeyi 160 Parametre Duyarlı Plan iyileştirmesi, parametreli sorgu için tek bir önbelleğe alınmış planın, tekdüzen olmayan veri dağıtımları gibi tüm olası gelen parametre değerleri için en uygun olmadığı senaryoyu ele alır.
Tablo Değişkeni Ertelenmiş Derleme Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Evet, SQL Server 2019'dan (15.x) başlayarak veritabanı uyumluluk düzeyi 150 Sabit bir tahmin yerine ilk derlemede karşılaşılan tablo değişkeninin gerçek kardinalitesini kullanır.

Azure SQL Yönetilen Örneği için IQP özellikleri

IQP Özelliği Azure SQL Yönetilen Örneği'nde desteklenir Description
Uyarlamalı Birleşimler (Toplu İş Modu) Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Uyarlamalı birleşimler, çalışma zamanı sırasında gerçek giriş satırlarına göre dinamik olarak bir birleştirme türü seçer.
Yaklaşık Sayı Ayrı Yes Yüksek performans ile düşük bellek tüketimi avantajıyla büyük veri senaryoları için tahminî COUNT DISTINCT sağlayın.
Yaklaşık Yüzdebirlik Evet, veritabanı uyumluluk düzeyi 110'dan başlayarak Yaklaşık yüzdebirlik toplama işlevlerini kullanarak hızlı kararlar alınmasına yardımcı olmak için kabul edilebilir derece tabanlı hata sınırlarına sahip büyük bir veri kümesinin yüzdebirlik dilimlerini hızla hesaplayın.
Rowstore'da Batch Modu Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Columnstore dizinlerine gerek kalmadan CPU'ya bağlı ilişkisel DW iş yükleri için toplu iş modu sağlayın.
Kardinalite tahmini (CE) geri bildirimi Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Verimsiz CE varsayımlarının düşük sorgu performansına neden olduğu iş yüklerini iyileştirmek için yinelenen sorgular için kardinalite tahminlerini otomatik olarak ayarlar. CE geri bildirimi, sorgu yürütme planı kalitesini geliştirmek için belirli bir sorguya ve veri dağıtımına daha uygun bir model varsayımı belirler ve kullanır.
Paralellik derecesi (DOP) geri bildirim Evet, SQL Server 2025 veya Always-up-to-dategüncelleştirme ilkesiyle Azure SQL Yönetilen Örneği'nde veritabanı uyumluluk düzeyi 160'tan başlayarak. Hayır, SQL Server 2022 güncelleştirme ilkesi için. Verimsiz paralelliğin performans sorunlarına neden olabileceği iş yükleri için iyileştirme yapmak üzere yinelenen sorgular için paralellik derecesini otomatik olarak ayarlar. Sorgu Deposu'un etkinleştirilmesini gerektirir.
Aralıklı Yürütme Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Sabit bir tahmin yerine, ilk derlemede karşılaşılan çok deyimli tablo değerli fonksiyonun gerçek kardinalitesini kullanır.
Bellek tahsis geri bildirimi (Batch Modu) Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Toplu iş modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.
Bellek tahsis geri bildirimi (Satır Modu) Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Satır modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.
Bellek verme geri bildirimi (Yüzdebirlik) Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Geçmiş sorgu yürütmeyi dahil ederek, bellek verme geri bildiriminin mevcut sınırlamalarını müdahale etmeden iyileştirir.
Bellek İzni, CE ve DOP geri bildirim sürekliliği Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Bellek tahsisi geri bildirimini kalıcılaştıran yeni işlevler sağlar. CE ve DOP geri bildirimleri her zaman kalıcıdır. Veritabanı için READ_WRITE modunda Sorgu Deposu'nun etkinleştirilmesi gereklidir.
Query Store ile optimize edilmiş plan uygulama Hayır Zorlamalı sorguların yinelenmesi için derleme ek yükünü azaltır. Daha fazla bilgi için Sorgu Deposu ile En İyi Duruma Getirilmiş Plan Zorlama başlıklı bölüme bakın.
Skaler UDF Satır İçi Yerleştirme Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Skaler UDF'ler, çağrı sorgusuna "inlined" eşdeğer ilişkisel ifadelere dönüştürülür ve bu da genellikle önemli performans kazanımlarına neden olur.
Parametreye Duyarlı Plan optimizasyonu Evet, veritabanı uyumluluk düzeyi 160'tan başlayarak Parametre Duyarlılık Planı İyileştirme, parametreli sorgu için tek bir önbelleğe alınmış planın, tekdüzen olmayan veri dağıtımları gibi tüm olası gelen parametre değerleri için en uygun olmadığı senaryoyu ele alır.
Tablo Değişkeni Ertelenmiş Derleme Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Sabit bir tahmin yerine ilk derlemede karşılaşılan tablo değişkeninin gerçek kardinalitesini kullanır.

SQL Server 2019 için IQP özellikleri

IQP özelliği SQL Server 2019'da (15.x) desteklenir Description
Uyarlamalı Birleşimler (Toplu İş Modu) Evet, SQL Server 2017'den (14.x) başlayarak veritabanı uyumluluk düzeyi 140 Uyarlamalı birleşimler, çalışma zamanı sırasında gerçek giriş satırlarına göre dinamik olarak bir birleştirme türü seçer.
Yaklaşık Sayı Ayrı Yes Yüksek performans ile düşük bellek tüketimi avantajıyla büyük veri senaryoları için tahminî COUNT DISTINCT sağlayın.
Rowstore'da Batch Modu Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Columnstore dizinlerine gerek kalmadan CPU'ya bağlı ilişkisel DW iş yükleri için toplu iş modu sağlayın.
Aralıklı Yürütme Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Sabit bir tahmin yerine ilk derlemede karşılaşılan çok deyimli tablo değerli işlevinin gerçek kardinalitesini kullanın.
Bellek tahsis geri bildirimi (Batch Modu) Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Toplu iş modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.
Bellek tahsis geri bildirimi (Satır Modu) Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Satır modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.
Skaler UDF Satır İçi Yerleştirme Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Skaler UDF'ler, çağrı sorgusuna "inlined" eşdeğer ilişkisel ifadelere dönüştürülür ve bu da genellikle önemli performans kazanımlarına neden olur.
Tablo Değişkeni Ertelenmiş Derleme Evet, veritabanı uyumluluk düzeyi 150'den başlayarak Sabit bir tahmin yerine ilk derlemede karşılaşılan tablo değişkeninin gerçek kardinalitesini kullanın.

SQL Server 2017 için IQP özellikleri

IQP özelliği SQL Server 2017'de (14.x) desteklenir Description
Uyarlamalı Birleşimler (Toplu İş Modu) Evet, SQL Server 2017'den (14.x) başlayarak veritabanı uyumluluk düzeyi 140 Uyarlamalı birleşimler, çalışma zamanı sırasında gerçek giriş satırlarına göre dinamik olarak bir birleştirme türü seçer.
Yaklaşık Sayı Ayrı Yes Yüksek performans ile düşük bellek tüketimi avantajıyla büyük veri senaryoları için tahminî COUNT DISTINCT sağlayın.
Aralıklı Yürütme Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Sabit bir tahmin yerine ilk derlemede karşılaşılan çok deyimli tablo değerli işlevinin gerçek kardinalitesini kullanın.
Bellek tahsis geri bildirimi (Batch Modu) Evet, veritabanı uyumluluk düzeyi 140'tan başlayarak Toplu iş modu sorgusunda diske taşan işlemler varsa, ardışık yürütmeler için daha fazla bellek ekleyin. Sorgu, kendisine ayrılan belleğin 50%'ını harcarsa, ardışık yürütmeler için bellek tahsis boyutunu azaltın.

Sorgu Deposu gereksinimi

Akıllı sorgu işleme özellikleri paketinden bazıları, kullanıcı veritabanına fayda sağlamak için Sorgu Deposu'nun etkinleştirilmesini gerektirir. Sorgu Deposunu etkinleştirmek için bkz. Sorgu Deposunu Etkinleştirme.

IQP özelliği Sorgu Deposu'nun etkinleştirilmesini ve READ_WRITE gerekli kılar.
Uyarlamalı Birleşimler (Toplu İş Modu) No
Yaklaşık Sayı Ayrı No
Yaklaşık Yüzdebirlik No
Rowstore'da Batch Modu No
Kardinalite tahmini (CE) geri bildirimi Yes
Paralellik derecesi (DOP) geri bildirim Yes
Aralıklı Yürütme No
Bellek tahsis geri bildirimi (Batch Modu) No
Bellek tahsis geri bildirimi (Satır Modu) No
Bellek verme geri bildirimi (Yüzdebirlik ve Kalıcılık modu) Yes
Query Store ile optimize edilmiş plan uygulama Yes
Skaler UDF Satır İçi Yerleştirme No
Parametreye Duyarlı Plan optimizasyonu Hayır, ancak önerilir
Tablo Değişkeni Ertelenmiş Derleme No