Ada makalah yang sangat bagus oleh Microsoft Research bernama To Blob atau Not To Blob .
Kesimpulan mereka setelah sejumlah besar tes kinerja dan analisis adalah ini:
jika gambar atau dokumen Anda biasanya berukuran di bawah 256KB, menyimpannya dalam kolom database VARBINARY lebih efisien
jika gambar atau dokumen Anda biasanya berukuran lebih dari 1 MB, menyimpannya dalam sistem file lebih efisien (dan dengan atribut SQL Server 2008 FILESTREAM, mereka masih di bawah kontrol transaksional dan bagian dari database)
di antara keduanya, ini sedikit tergantung tergantung pada penggunaan Anda
Jika Anda memutuskan untuk memasukkan gambar Anda ke tabel SQL Server, saya akan sangat menyarankan menggunakan tabel terpisah untuk menyimpan foto-foto itu - jangan menyimpan foto karyawan di tabel karyawan - simpan di tabel terpisah. Dengan begitu, tabel Karyawan dapat tetap ramping dan berarti serta sangat efisien, dengan asumsi Anda tidak selalu perlu memilih foto karyawan juga, sebagai bagian dari kueri Anda.
Untuk filegroup, lihat Arsitektur File dan Filegroup untuk intro. Pada dasarnya, Anda akan membuat basis data dengan grup grup terpisah untuk struktur data besar sejak awal, atau menambahkan grup grup 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 filegroup, dan mainkan!