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

Menyimpan gambar di SQL Server?

Ada makalah yang sangat bagus dari Microsoft Research berjudul To Blob or Not To Blob.

Kesimpulan mereka setelah sejumlah besar tes dan analisis kinerja adalah ini:

  • jika gambar atau dokumen Anda biasanya berukuran di bawah 256KB, menyimpannya di kolom VARBINARY database lebih efisien

  • jika gambar atau dokumen Anda biasanya berukuran lebih dari 1 MB, menyimpannya dalam sistem file lebih efisien (dan dengan atribut FILESTREAM SQL Server 2008, mereka masih di bawah kendali transaksional dan bagian dari database)

  • di antara keduanya, itu sedikit kacau tergantung pada penggunaan Anda

Jika Anda memutuskan untuk meletakkan gambar Anda ke dalam tabel SQL Server, saya sangat menyarankan menggunakan tabel terpisah untuk menyimpan gambar-gambar itu - jangan simpan foto karyawan di tabel karyawan - simpan di tabel terpisah. Dengan begitu, tabel Karyawan dapat tetap ramping dan kejam serta sangat efisien, dengan asumsi Anda tidak selalu harus memilih foto karyawan juga, sebagai bagian dari kueri Anda.

Untuk filegroups, lihat Files and Filegroup Architecture untuk intro. Pada dasarnya, Anda akan membuat database Anda dengan filegroup terpisah untuk struktur data besar sejak awal, atau menambahkan filegroup tambahan nanti. Sebut saja "LARGE_DATA".

Sekarang, setiap kali Anda memiliki tabel baru untuk dibuat yang perlu menyimpan kolom VARCHAR(MAX) atau VARBINARY(MAX), Anda dapat menentukan grup file ini untuk data besar:

 CREATE TABLE dbo.YourTable
     (....... define the fields here ......)
     ON Data                   -- the basic "Data" filegroup for the regular data
     TEXTIMAGE_ON LARGE_DATA   -- the filegroup for large chunks of data

Lihat intro MSDN di filegroups, dan mainkan!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung nilai menggunakan nilai baris sebelumnya di T-SQL

  2. Mendapatkan Tanggal di antara rentang tanggal

  3. Tips Cepat untuk Memperbaiki dan Memulihkan Database SQL Tanpa Cadangan

  4. 3 Cara Mengembalikan String Beberapa Spasi di SQL Server

  5. Bagaimana cara menghindari string di SQL Server menggunakan PHP?