'temp tablo arasındaki fark ne ve SQL Server'da değişken tablo? | Netgez.com
SORU
26 AĞUSTOS 2008, Salı


'temp tablo arasındaki fark ne ve SQL Server'da değişken tablo?

SQL Server 2005'te, geçici tablolar iki şekilde oluşturabilirsiniz:

declare @tmp table (Col1 int, Col2 int);

ya

create table #tmp (Col1 int, Col2 int);

İkisi arasındaki farklar nelerdir? Bellekte @tmp hala Matrix Depolama Teknolojisi kullanıp kullanmadığını, ya da eğer her şey olursa üzerinde çelişkili görüşler okudum.

Hangi senaryoları bir çıkış gerçekleştirmek başka?

CEVAP
15 EYLÃœL 2008, PAZARTESÄ°


Web bağlantıyı yazıları gibi Matrix depolama teknolojisi kullanarak onlardan biri olmasa da Geçici Tablolar (#tmp) ve Tablo Değişkenleri (@tmp) arasında bazı farklar vardır.

Veri ve basit kullanım senaryoları, küçük ve orta ölçekli birimler için genel bir kural olarak, tablo değişkenleri kullanmalısınız. (Bu ders dışında, aşağıda bir sürü ve makaleleri takip fazlasıyla geniş bir kılavuz.)

Bazı ikisi arasında seçim yaparken dikkate alınması gereken noktalar:

  • Geçici Tablolar ve Dizinler OLUÅžTURMA, vb gibi ÅŸeyler yapabilirsiniz, böylece gerçek tablo. EÄŸer dizin tarafından eriÅŸim daha hızlı olacaktır büyük miktarda veri varsa, o zaman geçici tablolar iyi bir seçenek.

  • DeÄŸiÅŸken tablo BÄ°RÄ°NCÄ°L ANAHTAR veya BENZERSÄ°Z kısıtlama kullanarak dizinler olabilir. EÄŸer benzersiz olmayan bir dizin (isterseniz sadece birincil anahtar vardır benzersiz son sütunu olarak sütun kısıtlaması. EÄŸer benzersiz bir sütun yok ise, kimlik sütunu kullanabilirsiniz.) SQL 2014 has non-unique indexes too.

  • Tablo deÄŸiÅŸkenleri hareketleri, ya da kilitleme günlük katılmayın. Bu yükü gerektirmeyen daha hızlı oldukları anlamına geliyor, ama diÄŸer taraftan bu özellikleri alamadım. Yani örneÄŸin eÄŸer bir yordam aracılığıyla yarı yolda geri almak istiyorsanız o zaman tablo deÄŸiÅŸkenleri bu iÅŸlem sırasında doldurulan hala doldurulur!

  • Geçici tablolar, saklanan prosedürler çekirdekler olmak, belki de sık sık neden olabilir. Tablo deÄŸiÅŸkenleri.

  • Sen-ebilmek yaratmak bir geçici tablo kullanarak SEÇİN İÇİNE, daha hızlı yazmak için ad-hoc sorgulama) Mayıs için izin anlaÅŸma ile deÄŸiÅŸen türleri zaman içinde, bu yana hiç gerek yok define geçici tablo yapısını ayarlıyoruz.

  • Tablo deÄŸiÅŸkenleri fonksiyonları geri ve mantığı çok daha kolay (örneÄŸin bazı keyfi sınırlayıcı deÄŸerler bir tablo içine bir dize bölmek için bir iÅŸlevi yapmak) saklanması yeniden etkinleÅŸtirme iletebilirsiniz.

  • Kullanıcı tanımlı iÅŸlevlerde kullanarak Tablo DeÄŸiÅŸkenleri bu fonksiyonları daha yaygın olarak kullanılır. (ayrıntılı bilgi için FONKSÄ°YON belgeleri OLUÅžTURMA) saÄŸlar. EÄŸer bir fonksiyon yazıyorsanız aksi takdirde zorlayıcı bir ihtiyaç yoksa temp tablo üzerinde tablo deÄŸiÅŸkenleri kullanmalısınız.

  • Tablo deÄŸiÅŸkenleri ve geçici tablolar tempdb içinde saklanır. Ama tablo deÄŸiÅŸkenleri (2005'den beri) Matrix Depolama Teknolojisi varsayılan harmanlama alan, geçerli veritabanı karşı geçici tablolar harmanlama (ref) varsayılan. Bunun anlamı olmalıdır farkında harmanlama sorunları kullanarak geçici tablolar ve db harmanlama farklı tempdb, neden sorunlar istiyorsanız karşılaÅŸtırın veri temp tablo ile veritabanındaki verileri.

  • (##Tmp) genel Geçici Tablolar, geçici tablo, baÅŸka tür tüm oturumlar ve kullanıcılar tarafından kullanılabilir.

Biraz daha fazla bilgi için:

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • Jeremy Gallman

    Jeremy Gallm

    11 NÄ°SAN 2012
  • Rootjunky.com

    Rootjunky.co

    22 EKÄ°M 2011

Ä°LGÄ°LÄ° SORU / CEVAPLAR