nvarchar(max),varchar(max),还是真的要解码字符串并将其放入图像或 blob 中?
更长的版本:(包含所有有趣的细节)
我有一个 .Net SOAP Web 服务,可以将记录保存在 SQL 2008 DB 中。该服务将被扩展以接受图像,这些图像(不管好坏)也需要暂时放入数据库中。
为了保持简单,该服务将图像作为 Base64 编码的字符串接收,并稍后必须作为 Base64 编码的字符串返回(同一服务的不同方法)。
最初,我只想使用 nvarchar(max),我相信这样做是可行的。但是后来我想到,base64 编码意味着它可以使用 varchar(max),并且使用更少的存储空间。这是正确的吗?还是我应该果断地将文本解码为二进制,将其作为 blob 存储,然后再次重新编码?
最后 - 加载存储和性能不太可能引起问题,这是一个个人项目,负载很低。
编辑:回答 @howiecamp 的问题,我在此处写出了如何对图像进行 URL 编码:http://www.flowerchild.org.uk/archive/2010/06/13/base-64-encoding-an-image-to-pass-across-a-web.html