Saya perlu menyimpan file biner ke Database SQL Server. Manakah Jenis Data yang lebih baik dari Varbinary dan Image?
Jawaban:
Karena image sudah tidak digunakan lagi, Anda harus menggunakan varbinary.
per Microsoft (terima kasih untuk tautannya @Christopher)
Tipe data nteks, teks, dan gambar akan dihapus di versi Microsoft SQL Server mendatang. Hindari menggunakan tipe data ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakannya. Gunakan nvarchar (max), varchar (max), dan varbinary (max) sebagai gantinya.
Tipe data tetap dan panjang variabel untuk menyimpan karakter besar non-Unicode dan Unicode serta data biner. Data Unicode menggunakan kumpulan karakter UNICODE UCS-2.
Ada juga yang agak keren FileStream, diperkenalkan di SQL Server 2008.
FileStreamhanya perilaku penyimpanan. Filestream diimplementasikan dengan menggunakan varbinary(max)dan membuat perubahan pada instance sql server Anda.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
gambar
Data biner dengan panjang variabel dari 0 hingga 2 ^ 31-1 (2.147.483.647) byte. Masih didukung untuk menggunakan tipe data gambar, tetapi perhatikan:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
varbinary [(n | max)]
Data biner dengan panjang variabel. n dapat berupa nilai dari 1 hingga 8.000. max menunjukkan bahwa ukuran penyimpanan maksimum adalah 2 ^ 31-1 byte. Ukuran penyimpanan adalah panjang sebenarnya dari data yang dimasukkan + 2 byte. Data yang dimasukkan bisa sepanjang 0 byte. Sinonim ANSI SQL untuk varbinary adalah variasi biner.
Jadi keduanya sama-sama ukurannya (2GB). Namun perhatikan:
Meskipun akhir dari tipe data "gambar" masih belum ditentukan, Anda harus menggunakan padanan pembuktian "masa depan".
Tetapi Anda harus bertanya pada diri sendiri: mengapa menyimpan BLOBS di Kolom?