Database 将图像存储在数据库或文件系统中
可能重复:Database 将图像存储在数据库或文件系统中,database,image,database-design,file,filesystems,Database,Image,Database Design,File,Filesystems,可能重复: 将图像存储在文件系统中更快更可靠,还是应该将其存储在数据库中 假设图像大小不超过200 MB。目标是快速、可靠的访问 一般来说,人们如何决定将文件(如图像、PDF)存储在文件系统中还是存储在数据库中?使用数据库方法,您只有一个连接对象。如果您的用户是分布式的,那可能会更简单。请注意,如果图像访问不太频繁,效率问题可能无关紧要。个人观点:我总是将图像存储在文件系统中,而只在数据库中存储文件路径。在许多情况下,数据库存储在fast(读取:昂贵的存储、15k RPM或SSD驱动器)存储上
将图像存储在文件系统中更快更可靠,还是应该将其存储在数据库中 假设图像大小不超过200 MB。目标是快速、可靠的访问
一般来说,人们如何决定将文件(如图像、PDF)存储在文件系统中还是存储在数据库中?使用数据库方法,您只有一个连接对象。如果您的用户是分布式的,那可能会更简单。请注意,如果图像访问不太频繁,效率问题可能无关紧要。个人观点:我总是将图像存储在文件系统中,而只在数据库中存储文件路径。在许多情况下,数据库存储在fast(读取:昂贵的存储、15k RPM或SSD驱动器)存储上。图像或其他文件通常可以存储在较慢(读取:更便宜、更大的驱动器、7.2k RPM驱动器)的存储器上 我发现这是最好的,因为它允许数据库保持较小的大小。通常,数据库很好地存储“数据”。他们可以快速搜索和检索少量数据。文件系统很好地存储“文件”,它们经过优化,可以快速查找和检索更大的数据位 显然,这两种方法都有折衷之处,而且不会一刀切;但是,在某些使用情况下,将图像存储在数据库中是一件好事,如果它们都很小,并且您预计不会有很多图像,并且您的数据库与您的文件共享位于同一存储介质上,那么将图像直接放入数据库可能是有意义的
顺便说一句,SQL Server 2008R2有一个FileStream字段类型,它可以提供最好的两个方面,我还没有使用过它,所以我无法说明它的工作情况。如果您需要以下内容,请在数据库中存储文件/图像:
- 访问控制
- 版本控制
- 入住/退房
- 基于元数据的搜索
但是,如果您的内容更加静态,并且不会随着时间的推移而改变,您可以使用文件系统并在web服务器上启用优化/缓存。首先,您必须知道,在数据库中,您不能存储比我认为的8MB大的文件,因此我认为最好将文件存储在系统中,还有数据库中的小图像我喜欢它,一个名为“Crashalot”的程序员这取决于数据库。SQL Server最多可以存储2GB(或者“仅仅”1GB?)。写得很好——并指出一些数据库具有访问数据库外主数据的规定。如果我只需要访问控制,是否可以对Web服务器和文件系统执行访问控制(从而避免将映像存储在数据库中)?怎么做?