İkili dosyaları SQL Server Veritabanına depolamam gerekiyor. Varbinary ve Görüntü'den daha iyi Veri Türü hangisi?
Yanıtlar:
Görüntü kullanımdan kaldırıldığından, varbinary kullanmalısınız.
başına Microsoft'a (bağlantı @Christopher için teşekkürler)
ntext, text ve image veri türleri, Microsoft SQL Server'ın gelecekteki bir sürümünde kaldırılacaktır. Bu veri türlerini yeni geliştirme çalışmasında kullanmaktan kaçının ve şu anda bunları kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine nvarchar (max), varchar (max) ve varbinary (max) kullanın.
Büyük Unicode olmayan ve Unicode karakterleri ve ikili verileri depolamak için sabit ve değişken uzunluklu veri türleri. Unicode verileri, UNICODE UCS-2 karakter kümesini kullanır.
FileStream
SQL Server 2008'de tanıtılan oldukça şık da var .
FileStream
yalnızca bir depolama davranışıdır. Filestream, varbinary(max)
sql sunucu örneğiniz kullanılarak ve üzerinde değişiklikler yapılarak uygulanır.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
görüntü
0 ile 2 ^ 31-1 (2.147.483.647) bayt arasında değişen uzunlukta ikili veri. Yine de görüntü veri türünü kullanmak desteklenmektedir, ancak şunlara dikkat edin:
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
değişken ikili [(n | maks)]
Değişken uzunluklu ikili veriler. n, 1 ile 8.000 arasında bir değer olabilir. max, maksimum depolama boyutunun 2 ^ 31-1 bayt olduğunu belirtir. Depolama boyutu, girilen verinin + 2 bayt gerçek uzunluğudur. Girilen verilerin uzunluğu 0 bayt olabilir. Varbinary için ANSI SQL eşanlamlısı ikili çeşitlidir.
Yani her ikisi de eşit boyuttadır (2GB). Ancak şunlara dikkat edin:
"Görüntü" veri türünün sonu hala belirlenmemiş olsa da, "gelecek" kanıt eşdeğerini kullanmalısınız.
Ama kendinize şu soruyu sormalısınız: BLOB'ları neden bir Sütunda depolamak?