Мне нужно хранить двоичные файлы в базе данных SQL Server. Какой тип данных лучше из Varbinary и Image?
sql-server
Йоанн. B
источник
источник
varbinary(max)
это путь (введен в SQL Server 2005)источник
Есть также довольно элегантный
FileStream
, представленный в SQL Server 2008.источник
FileStream
всего лишь хранилища. Filestream реализуется путем использованияvarbinary(max)
и внесения изменений в ваш экземпляр sql-сервера.https://docs.microsoft.com/en-us/sql/t-sql/data-types/ntext-text-and-image-transact-sql
https://docs.microsoft.com/en-us/sql/t-sql/data-types/binary-and-varbinary-transact-sql
Так что оба они одинакового размера (2 ГБ). Но имейте в виду:
https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016#features-not-supported-in-a-future-version- из-sql-сервера
Хотя конец типа данных «изображение» все еще не определен, следует использовать эквивалент «будущего».
Но вы должны спросить себя: зачем хранить большие двоичные объекты в столбце?
https://docs.microsoft.com/en-us/sql/relational-databases/blob/compare-options-for-storing-blobs-sql-server
источник