Я отправляю изображение на сервер, используя DATA URI (клиентская сторона, используя холст). Теперь у меня есть два варианта: я могу сохранить «изображение» в виде строки в столбце varchar(max) или преобразовать его в byte[] и сохранить как varbinary(max).
Что касается реализации, усилия одинаковы. Я пытаюсь определить, что будет более эффективным с точки зрения 1: места в БД и 2: отображения изображения. Кто-нибудь видел какой-либо анализ по этому поводу или есть хороший способ измерить это?
AN FYI - изображение размером 3 КБ составляет около 100 000 символов в БД.
Использование: ASP.NET 4.5, MVC, SQL Server 2008
Чтобы уточнить
Я могу либо сохранить изображение в базе данных, используя byte[] в столбце varbinary(MAX), как это обычно бывает, либо я могу сохранить DATA URI из холста HTML5, который выглядит как data:image/png;base64, iVBORw0K... в столбце varchar(max).
Хранение byte[] является типичным и не требует дополнительных пояснений. Хранение DATA URI — это просто строка, а отображение изображения — это вопрос:
<img src="data:image/png;base64,iVBORw0K" /> or
<img src="@Model.Uri" />
Мой вопрос заключается в том, какой из них более эффективен и экономит место, и есть ли какая-либо документация, технический документ или анализ по этому конкретному сравнению.