我即将创建一个ASP.NET MVC应用程序,它将拥有超过2000个产品,每个产品将有大约20张照片。该应用程序将是asp.net mvc app和
我正在使用sql server 2008 r2来管理我的数据。哪种方式是更好的approcah在这里;
答案 0 :(得分:1)
绝对存储为路径而不是字节数组。这意味着您可以轻松地更改实际图像本身,而无需更改SQL中的任何代码或混乱(只要新文件与旧文件具有相同的名称)。
希望这有帮助。
答案 1 :(得分:1)
针对SQL Server存储图像 A)投入和投出数据可能更困难,因为必须使用blob类型对象,而某些ORM并不真正满足此需求 B)您的数据库更大,因此影响您的备份/恢复策略。备份越频繁,但空间会增加。存储在文件中,是的,您仍然需要备份,但备份文件系统很容易。 C)当你的存储空间不足时你只需添加另一个NAS驱动器/服务器并开始在那里存储图像,所以水平缩放
普遍的看法并不像存储在两个地方的数据那么好,但对我来说,它更好地存储在数据类型的最佳存储介质中的数据类型。
答案 2 :(得分:1)
在使用FILESTREAM的数据库中,它结合了2个想法(文件和数据库)
FILESTREAM通过将varbinary(max)二进制大对象(BLOB)数据存储为文件系统上的文件,将SQL Server数据库引擎与NTFS文件系统集成在一起。 Transact-SQL语句可以插入,更新,查询,搜索和备份FILESTREAM数据。 Win32文件系统接口提供对数据的流式访问。
这会更改文件与数据库参数
如果您只想存储路径,那么您将不得不接受图像和数据库 会随着时间的推移而失去同步的事实。