INF: Sık - SQL Server 2000 - tablo değişkenlerini sorulan sorular

Makale çevirileri Makale çevirileri
Makale numarası: 305977 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Bu makalede bazı sık sorulan sorular yanıtlanmaktadır. SQL Server'da sunulan tablo değişkenlerini (SSS) ilgili 2000.

Tablo SQL Server Books Online'da açıklamasını okumak için değişkenler, lütfen aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa260638 (SQL.80) .aspx

Daha fazla bilgi

S1: geçici tablolara zaten kullanılabilir olduğunda tablo değişkenlerini neden yapılmıştır?

A1: Tablo değişkenlerini geçici göre aşağıdaki avantajları vardır. tablolar:
  • SQL Server Çevrimiçi Kitapları'de "Tablolar" belirtildiği gibi makale, yerel değişkenler gibi tablo değişkenlerini sahip en iyi tanımlanmış bir kapsamı sonunda, bunlar otomatik olarak temizlenir.
  • Daha az yeniden derlemelerinde, saklı bir tablo değişkenleri sonucu yordam geçici tablolar karşılaştırıldığında.
  • İlgili hareketleri Tablo değişkenleri son yalnızca bir tablo değişkeni güncelleştirme süresi. Bu nedenle, tablo değişkenlerini gerektirir daha az kilitleme ve kaynak günlüğü. Tablo değişkenleri kapsam sınırlı olduğundan ve kalıcı veritabanının bir parçası değildir, aksi halde hareket düzeyine onları etkiler.
S2: Bu tablo değişkenlerini geçici tablolara zaman kullanılan daha az yeniden bir saklı yordam neden olduğunu söyleyerek ne demektir?

A2: Aşağıdaki makale sakladığınız zaman bazı nedenleri açıklar yordamlar derlenir:

243586 Saklı yordam yeniden derlemesinde sorun giderme
"Yeniden nedeniyle bazı geçici tablo İşlemleri"bölümü de listeler gibi önlemek için bazı gereksinimleri bir geçici tablolara nedeniyle yeniden derlemesinde. Bu kısıtlamalar geçerli değildir Tablo değişkenleri.

Tablo değişkenlerini toplu iş için ayrılmıştır dolayısıyla olduğunuz çözüm oluşturur ' CREATE veya ALTER ortaya gerekir deyimi içeren geçici bir tablo ortaya çıkabilir gerçekleşir. Geçici tablolar Bu olduğunuz çözünürlüğe gerek ' tablo başvurulabilir şekilde iç içe geçmiş bir saklı yordam. Saklı yordamları kullanmak üzere tablo değişkenlerini bu tamamen önlemek zaten, saklı işlem kaynakları vermeyip derlenmiş planı yordam.

Q3: Bazı tablo değişkenlerini dezavantajları nelerdir?

A3: Bunlar geçici tablolar karşılaştırıldığında dezavantajları bazıları şunlardır:
  • Tablo değişkenleri esas olmayan kümelenmiş dizin oluşturulamıyor, bir birincil ya da benzersiz oluşturulan sistem dizinleri diğer kısıtlama. Karşılaştırıldığında sorgu performansını etkileyen bir Geçici Tablo kümelenmemiş dizinleri ile.
  • Tablo değişkenlerini istatistikleri geçici ister saklamaz tabloları kullanabilirsiniz. İstatistik Tablo değişkenleri esas otomatik oluşturulamıyor. oluşturma veya CREATE STATISTICS deyimini kullanarak. Bu nedenle, karmaşık için sorgular büyük tablolarda istatistiklerini eksikliği için en iyi duruma getiricisi önüne geçilmesine Bu nedenle, performansı etkileyen bir sorgu için en iyi plan belirlemek Sorgu.
  • Tablo tanımını ilk sonra değiştirilemez. Deyimi BİLDİRİN.
  • Tablo değişkenleri ekleme EXEC veya SELECT kullanılamaz. INTO deyimi olamaz.
  • Kısıtlamalar, varsayılan değerler ve hesaplanan sütunlarda DENETLEYİN Kullanıcı tanımlı işlevler Tablo türü bildirimi çağrılamıyor.
  • EXEC deyimi veya sp_executesql saklı yordam başvuran dinamik SQL Server sorgu çalıştırmak için kullanamazsınız bir Tablo değişkeni, Tablo değişkeni EXEC deyimi dışında oluşturduysanız veya sp_executesql saklı yordamını. Tablo değişkenlerini içinde başvurulan çünkü kendi yerel kapsam yalnızca tablo kapsamı dışında bir EXEC deyimi ve sp_executesql saklı yordam olacaktır değişken. Bununla birlikte, Tablo değişkeni oluşturun ve tüm işlemler gerçekleştirme Daha sonra tablo değişkenlerini yerel kapsamı içinde EXEC deyimi veya sp_executesql çünkü saklı yordam EXEC deyimi veya sp_executesql saklı yordamını.
S4: fiziksel disk üzerindeki bir veritabanındaki tutulduğundan tablo değişkenlerini yalnızca bellek yapılarını tablolar, geçici veya kalıcı karşılaştırıldığında daha iyi performans geleceğinden emin olursunuz?

A4: Bir tablo değişkeni yalnızca bellek yapısı değil. Çünkü bir tablo değişken bellekte sığabilenden daha fazla veri tutabilir, bir yer olmasını vardır verileri depolamak için disk. Tablo değişkenlerini geçici tablolara benzer tempdb veritabanında oluşturulur. Bellek kullanılabilir durumdaysa, her ikisi de tablo değişkenleri ve geçici tablolar oluşturulur ve işlem içinde iken bellek (veri önbelleği).

S5: geçici tablolar yerine tablo değişkenlerini kullanmak zorundayım?

A5: Yanıt üç şu faktörlere bağlıdır:
  • İçin eklenen satır sayısı Tablo.
  • Kaydedilen sorguyu yeniden derleme sayısı Kimden.
  • Sorgu ve dizin üzerinde kendi bağımlılık türünü ve performans istatistikleri.
Bazı durumlarda, bir saklı yordam geçici ile bölme Bu yeniden derlemesinde yer aldığı böylece daha küçük saklı yordamlar tablolarına daha küçük birimler yardımcı olur.

Genel olarak, tablo değişkenlerini kullanın olası her zaman dışında önemli bir bölüm veri ve var. Yinelenen Tablo kullanılır. Bu durumda, üzerinde dizinler oluşturabilirsiniz Sorgu performansını artırmak için geçici tablo. Ancak, her bir senaryo olabilir farklı. Microsoft, tablo değişkenlerini daha fazla olması durumunda sınamanızı önerir. geçici tablolar belirli bir sorgu için daha yararlı veya saklı yordam.

Özellikler

Makale numarası: 305977 - Last Review: 30 Mayıs 2013 Perşembe - Gözden geçirme: 7.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbinfo kbmt KB305977 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 305977

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com