Nasıl SQL Server eşleşmeleri sorgular kılavuzları Plan
SQL Serverplan kılavuzları, saklı yordam içinde görünen sorguları için object türündeki eşleşmeleri tetikleyici veya işlev (modül) adlı @ module_or_batch bağımsız değişkeni sp_create_plan_guide saklı yordam.Bir plan kılavuzu üzerinde modülü varsa, belirtilen sorgu planı Kılavuzu eşleştirilir.
Toplu işlemi içinde gönderilen sorguları için SQL Server eşleşmeleri plan kılavuzları onlara ilk eşleşen sorgu için sql tabanlı plan Kılavuzu çalışılırken tarafından sonraki sorgu stratejisinin çalışıyor sonra göre yeniden denemeden.Aşağıdaki resimde bu işlemine genel bakış sağlar.
The SQL Server query optimizer recognizes an executed batch as a request to compile each statement within the batch.
Özel bir deyim toplu iş içinde SQL Server eşleştirmeye çalışır deyim whose bir sql tabanlı plan Kılavuzu @ module_or_batch , herhangi bir sabit hazır bilgi değeri; dahil olmak üzere gelen toplu metni bağımsız değişkeni ile eşleşir ve, @ stmt bağımsız değişkeni de eşleşen deyim toplu iş iş iş.Bu tür bir plan Kılavuzu varsa ve eşleşme başarılı, deyim metin plan Kılavuzu'nda belirtilen sorgu ipuçları içerecek şekilde değiştirilir.deyim buna uygun olarak derlenir.
Bir plan kılavuzu için eşleşmiyorsa deyim adım 2, SQL Server stratejisinin çalışır deyim kullanarak zorla parameterizasyonunu.Bu adımda, aşağıdaki nedenlerden herhangi biri için parameterizasyonunu başarısız olabilir:
deyim zaten parametrelenmiştir veya yerel değişkenleri içerir.
PARAMETERİZASYONUNU Basit veritabanı ayarlama seçeneği (varsayılan ayar) uygulanan ve hiçbir plan Kılavuzu türü için geçerli bir şablon var deyim ve PARAMETERİZASYONUNU ZORLANMIŞ sorgu ipucu belirtir.
Bir plan Kılavuzu türünde geçerli şablon var deyim ve PARAMETERİZASYONUNU basit sorgu ipucu belirtir.
Zorla parameterizasyonunu başarılı olursa, SQL Server deyim parametreli o deyim oluşturulduğu sql türü bir plan Kılavuzu'na parametreli formu eşleştirmek çalışırBu tür bir plan Kılavuzu varsa ve eşleşme başarılı, deyim metin plan Kılavuzu'nda belirtilen sorgu ipuçları içerecek şekilde değiştirilir.deyim buna uygun olarak derlenir.Böyle bir plan Kılavuzu eşleşti, ilk parametreli deyim derlenmiş bir plan Kılavuzu tarafından değiştirilmekte.
3. Adımda parameterizasyonunu başarısız olursa SQL Server deyim yeniden stratejisinin dener.Bu saat, SQL Server uygulanan varsayılan Basit parameterizasyonunu davranış.Sonuçta elde edilen sorgu doğrudan derlenir.Plan kılavuzları değil için eşleşen sonuçlar , basit parameterizasyonunu.
Not
YENİDEN sorgu ipucu zorla ya da basit parameterizasyonunu parametreleştirilmiş sorguları için uygulama planı kılavuzları sql türü dikkate alınmaz.Ayrıca bir uyarı verilir.
Ayrıca bkz.