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

Apa manfaat memiliki bidang varbinary dalam tabel 1-1 yang terpisah?

Tidak ada kinerja atau keuntungan operasional. Sejak SQL 2005, tipe LOB sudah disimpan untuk Anda oleh mesin di unit alokasi terpisah, b-tree terpisah. Jika Anda mempelajari Organisasi Tabel dan Indeks dari SQL Server Anda akan melihat bahwa setiap partisi memiliki hingga 3 unit alokasi:data, LOB, dan row-overflow:


(sumber:s-msft.com )

Bidang LOB (varchar(max), nvarchar(max), varbinary(max), XML, CLR UDT serta jenis teks, ntext, dan gambar yang tidak digunakan lagi) akan ada dalam catatan data itu sendiri, dalam indeks berkerumun, hanya a jejak yang sangat kecil:penunjuk ke unit alokasi LOB, lihat Anatomi Catatan .

Dengan menyimpan LOB secara eksplisit dalam tabel terpisah Anda sama sekali tidak mendapatkan apa-apa . Anda cukup menambahkan kerumitan yang tidak diperlukan karena pembaruan atom sebelumnya harus mendistribusikan dirinya sendiri sekarang menjadi dua tabel terpisah, memperumit aplikasi dan struktur transaksi aplikasi.

Jika konten LOB adalah seluruh file maka mungkin Anda harus mempertimbangkan untuk meningkatkan ke SQL 2008 dan menggunakan FILESTREAM .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gunakan Buat Pernyataan untuk Membuat Tabel di SQL Server - SQL Server / T- Tutorial SQL Bagian 34

  2. Startup Lambat Layanan Pelaporan SQL 2008 dalam Mode Asli

  3. SQL Server 2008 - Pisahkan

  4. SQL Server 2008, klausa WHERE berbeda dengan satu permintaan

  5. Di Sql Server cara Pivot untuk beberapa kolom