NASıL YAPıLıR: KEEPFIXED PLAN saklı yordam yeniden devre dışı bırakmak için kullanın.

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:276220
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Özet
Saklı yordamlar derlenmiş çekirdekler bazı durumlarda, bunu türetilen yararı recompilation maliyetini outweigh. Derlenmiş bir recompile tetiklendiğinde SQL Server Service Pack 2 (SP2) ve önceki deyimi düzeyi recompilation desteklemek için tüm saklı yordamını, Not çekirdekler gerekir. Bu nedenle, bir saklı yordamın yürütülmesini ve saklı yordamın uzunluğunu sırasında tetiklenen recompiles sayısı bazen saklı yordamın yürütülmesinin toplam süreyi artırabilir.

SQL Server 7.0 SP3'te başlayarak yeni bir sorgu ipucu KEEPFIXED PLAN, recompilation maliyetini varolan planın kullanma maliyetini birden fazla olduğu durumlarda yardımcı olmak için sunulmuş.

KEEPFIXED PLANLA sorgu ipucu sorguda istatistiklerdeki değişiklikleri veya dizili sütuna değişiklikleri (örneğin, güncelleştirme, silme veya ekleme) nedeniyle hiçbir zaman yeniden derlemek için sorgu en iyi duruma getiricisi zorlar. Saklı yordamın recompilation ile ilgili sorunları giderme hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
243586INF: Saklı yordam Recompilation sorun giderme
back to the top

KEEPFIXED PLAN ipuçlarını kullanan örnek kod

Bu bölümdeki örnek kod, aşağıdaki Microsoft Knowledge Base makalesinden şöyledir:
243586INF: Saklı yordam Recompilation sorun giderme
   drop procedure RowModifications    go   create procedure RowModifications as   -- assume SomeTable exists with the same definition as #t,    -- and has over 1000 rows   create table  #t (a int )   select * from  #t   insert  #t select * from retest   select count(*) from #t  where a = 37   --option (keepfixed plan)   go   exec RowModifications   go   exec RowModifications   go  				
Ikinci yürütülmesini RowModifications yordamı için aşağıdaki kod, recompilation neden olur:
  select count(*) from #t where a = 37				
bu kodu kullanırsanız:
Option (keepfixed plan)				
gelen bu sorguyu Sorgu recompilation yeniden neden olmaz:
select count(*) from #t  where a = 37 option (keepfixed plan) 				
Not bu sorguyu ipucu deyimi düzeyi üzerinde uygulanır ve tüm saklı yordamın kapsamını etkilemez. Bu seçenek, bir saklı yordam birden çok deyimlerinde etkilemesini istiyorsanız, her tablo bir davranış için SQL Server uygulayan ipucu uygulamalıdır. Bu ipucu için SQL Server 7.0 Service Pack 2 (SP2) veya önceki sürümleri kullanılabilir değil.back to the top

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 276220 - Son İnceleme: 12/05/2015 22:10:17 - Düzeltme: 5.4

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition

  • kbnosurvey kbarchive kbmt kbhowtomaster kbinfo KB276220 KbMttr
Geri bildirim