Cra*_*lot 6 database filesystems database-design image file
可能重复:
在DB中存储图像 - 是或否?
将图像存储在文件系统中更快更可靠还是应该将它们存储在数据库中?
假设图像不超过200 MB.目标是快速,可靠的访问.
一般来说,人们如何决定在文件系统或数据库中存储文件(例如图像,PDF)?
Nat*_*ate 13
个人意见:我总是将图像存储在文件系统上,并且只在数据库中存储文件路径.在许多情况下,数据库存储在快速(读取:昂贵的存储,15k RPM或SSD驱动器)存储中.图像或其他文件通常可以存储在较慢(读取:更便宜,更大的驱动器,7.2k RPM驱动器)存储上.
我发现这是最好的,因为它允许数据库保持较小的尺寸.通常,数据库很好地存储"数据".他们可以快速搜索和检索少量数据.文件系统很好地存储"文件",它们经过优化,可以快速查找和检索更大的数据.
显然,这两种方法都存在权衡,并且不会出现一刀切的情况; 但是,可能存在一些用例,在数据库中存储图像是一件好事,如果它们都非常小,并且您没有预期很多,并且您的数据库与文件共享位于同一存储介质上那么将图像直接放入数据库可能是有意义的.
作为旁注,SQL Server 2008R2有一个FileStream字段类型,它可以提供两全其美,我还没有使用它,所以我不能说它的工作情况.
如果您需要以下内容,请将文件/图像存储在数据库中:
这就是像 SharePoint 这样的主要 CMS 的设计。
但是,如果您的内容更加静态并且不会随时间变化,您可以使用文件系统并在 Web 服务器上启用优化/缓存。