Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa perbedaan antara TABLE SEMENTARA dan VARIABEL TABEL dalam SQL 2008?

Tabel sementara seperti tabel biasa di sebagian besar karakteristik, kecuali mereka masuk ke TempDB alih-alih Database saat ini, dan mereka menghilang setelah cakupan terbatas, (tergantung pada apakah mereka adalah Tabel Temp berbasis sesi atau global. Tetapi semua perubahan pada data dalam tabel Temp adalah masuk ke log transaksi, dengan semua implikasi kinerja yang menyertainya. otoh, Anda juga dapat menambahkan sebanyak mungkin indeks atau tampilan, atau pemicu, atau apa pun yang Anda inginkan ke tabel temp persis seperti yang Anda lakukan ke tabel biasa.

Variabel tabel adalah semacam tabel pintasan di memori (mereka juga menggunakan DB temp). Perubahan pada mereka tidak dicatat (ini meningkatkan kinerja). Tetapi Anda hanya bisa mendapatkan satu indeks di dalamnya, (karena indeks tidak dapat dibuat setelah pernyataan deklarasi awal, satu-satunya indeks yang dapat Anda buat pada variabel tabel adalah indeks yang dapat dimasukkan dalam deklarasi variabel tabel awal...

   Declare @Tab Table (myKey integer Primary Key Not Null, data varchar(20)) 

Karena karakteristik ini, tabel temp adalah pilihan yang lebih baik untuk tabel besar, (lebar dan dengan banyak baris), dan/atau yang akan menjalani lebih dari satu pola akses selama masa pakainya, sementara variabel tabel paling baik saat Anda membutuhkan tabel yang sangat sempit ( kunci hanya tabel, atau kunci dengan hanya satu kolom data), yang akan selalu diakses oleh kunci yang diindeks itu...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Harus mendeklarasikan kesalahan variabel @myvariable dengan kueri berparameter ADO

  2. Tentukan apakah Parameter SP memiliki Nilai Default di T-SQL

  3. Cara memasukkan baris baru dengan benar di nvarchar

  4. Temukan HANYA Huruf Kapital dalam kata melalui kueri IN SQL Server

  5. com.microsoft.sqlserver.jdbc.SQLServerException:Sambungan TCP/IP ke host localhost, port 1433 telah gagal