SQL Server’da Temporary Table ve Table Variable Arasındaki Farklar

Herkese merhaba,

Bu başlık altında SQL Server’da Temporary Table ve Table Variable arasındaki farkları inceleyeceğiz.

SQL Server’da bazı durumlarda iş mülakatlarında bu tür sorular karşınıza gelebilir. Aşağıdaki maddeleri öğrenmeniz her daim işinize yarayacaktır.

  1. Temporary Table’da # işareti ile tablo oluştururken Table Variable’da @ işareti ile oluşturulur.
  2. Temporary Table oluşturulduktan sonra DDL işlemleri yapabiliriz. Yeni bir kolon ekleme imkanımız olur. Table Variable ise ALTER,CREATE,DROP gibi DDL komutlarını desteklemez.
  3. Temporary Table’lar TempDB’ de tutulmaktadır. Table Variable ise  In – Memory olarak saklanmaktadır.
  4. Temporary Table Transaction yapısını desteklemektedir. Table Variable ise Transaction yapısını desteklemez.
  5. Temporary Table’larda kullanıcı tanımlı fonksiyonlara (UDF) izin verilmezken Table Variable’larda kullanıcı tanımlı fonksiyonları (UDF) kullanmaya izin verilir.
  6. Temporary Table’ler index’leri destekler ayrıca Primary Key ve Unique Key ile oluşturulan index’ler de desteklenir. Table Variable’larda ise index’ler desteklenmez.
  7. Temporary Table’lar tanımlandıkları ortamda erişilebilir. Eğer Global olarak tüm ortamlardan erişime açık olması istenirse Temporary Table oluşturulurken ‘#’ yerine ‘##’ kullanılmalıdır. Oluşturulma türüne göre hem yerel hemde global erişime destek verir. Table Variable’lar ise tanımlanan ortamdan erişilebilir. Global erişim türü mevcut değildir.
  8. Table Variable türündeki tablolar, Temporary Table türündeki tablolara göre çok daha hızlı çalışırlar.
  9. Temporary Table; nested stored procure’lerde kullanılabilirken, Table Variable; nested stored procedure’lerde kullanılamaz.
  10. SELECT INTO ile Temporary Table oluşturabilirken, SELECT INTO ile Table Variable oluşturamazsınız.
  11. Stored Procedure’de içinde Temporary Table varsa stored procedure her seferinde recompile olurken Table Variable varsa recompile işlemi gerçekleşmez.
  12. Temporary Table büyük tablolarda Table Variable’a göre daha performanslı çalışır.
  13. Eğer satır sayısı 100’ün altındaysa genellikle Table Variable kullanılır. Satır sayısı 100 ün üzerindeyse Temporary Table kullanılması daha iyidir.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

582 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!