|
1
27
在SQLServer2008中,您可以将FILESTREAM属性应用于varbinary列,然后SQLServer将该列的数据存储在本地NTFS文件系统中。将数据存储在文件系统上带来两个关键好处:
但是,该列可以像SQL Server中的任何其他BLOB列一样进行管理,因此管理员可以使用SQL Server的可管理性和安全性功能将BLOB数据管理与关系数据库中的其余数据集成在一起,而无需单独管理文件系统数据。 在SQL Server中将数据定义为FILESTREAM列还可以确保数据库中的关系数据与物理存储在文件系统中的非结构化数据之间的数据级一致性。FILESTREAM列的行为与BLOB列完全相同,这意味着完全集成了维护操作(如备份和恢复)、与SQL Server安全模型的完全集成以及完全的事务支持。 应用程序开发人员可以通过以下两种编程模型之一处理FILESTREAM数据:;他们可以像使用标准BLOB列一样使用Transact-SQL访问和操作数据,也可以使用带有Transact-SQL事务语义的Win32 streaming API来确保一致性,这意味着他们可以像与文件系统上的文件交互时一样,使用对FILESTREAM BLOB的标准Win32读/写调用。
|
|
|
2
3
http://research.microsoft.com/research/pubs/view.aspx?msr_tr_id=MSR-TR-2006-45 ) 他们详细说明了你要找的东西。较短的版本是,与在文件系统上保存数据相比,任何超过1MB的文件大小都会开始降低性能。 |
|
3
1
我对此表示怀疑
与在数据库中将路径存储到文件系统上的文件相比,将图像存储在数据库中通常的优缺点仍然值得考虑。例如:
|
|
|
4
0
对于像电子商务网站这样的东西,我可能会选择将图像存储在数据库的blob存储中。虽然您不想过早地进行优化,但让我的图像与我的数据一起方便地组织起来,并且非常便于携带,这是电子商务之类的自动好处之一。 |
|
|
5
0
在这种设置中,让我担心的是数据库的大小,但如果管理正确,这不会是一个大问题,一个很大的优势是,您只需要备份一件事情(数据库),而不必担心磁盘上的文件。 |
|
|
6
0
通常,一个好的解决方案是将映像本身存储在文件系统上,并将元数据(文件名、维度、上次更新时间、您需要的任何其他内容)存储在数据库中。 话虽如此,却没有“正确”的解决方案。 |
|
|
Nuri Engin · Ext JS:如何重新加载多个存储? 8 年前 |
|
|
Maevari · 向数据库插入多个同名输入 8 年前 |
|
|
Malerosa · 如何将数据库链接到我的Android应用程序? 8 年前 |
|
|
Mackelito · 角度,访问服务中的路由器参数 8 年前 |
|
|
Andrew Vershinin · ExtJS 4:动态存储过滤 9 年前 |