|
|
1
25
我通常将它们存储为文件,并将路径存储在数据库中。对我来说,这是一种比将它们作为BLOB推入数据库更简单、更自然的方法。 将它们存储在数据库中的一个理由是:进行完整备份要容易得多,但这取决于您的需要。如果您需要能够轻松地获取数据库(包括图像)的完整快照,那么将它们作为blob存储在数据库中可能是一种方法。否则,您必须将数据库备份与文件备份配对,并以某种方式尝试将两者关联起来,以便在必须执行恢复时,您知道要恢复哪一对。 |
|
2
14
这取决于图像的大小。 微软研究院有一个 interesting document |
|
|
3
11
我曾尝试使用db(SQL Server和MySQL)存储中型(<5mb)文件,但遇到了很多麻烦。 1) 一些数据库(SQLServerExpress)有大小限制;
3) 当您必须显示一个对象列表时,如果您不小心从表中选择*,大量数据将试图从数据库中上下移动,导致响应速度极慢或内存故障; 4) 一些前端(ruby ActiveRecord)在处理blob时有很大的问题。 只需使用文件。不要将它们都存储在同一个目录中,使用一些技术将它们放在多个目录中(例如,可以使用GUID的最后两个字符或int id的最后两个数字),然后将路径存储在db上。 |
|
|
4
5
数据库服务器的性能影响是一个没有实际意义的问题。如果您需要文件系统的性能优势,只需在第一次请求时将其缓存在那里即可。随后,可以通过直接链接直接从文件系统提供后续请求(对于web应用程序,您可以在刷新输出缓冲区之前使用该链接重写HTML)。 这提供了两个方面的最佳效果:
我一直提倡“数据库作为用户数据存储,除非”的方法,因为它在体系结构上更好,并且不一定因为有效的缓存而更慢。 话虽如此,将文件系统用作权威存储的一个很好的理由是当您确实需要使用外部独立工具来访问它时,例如SFTP和诸如此类的工具。 |
|
|
5
2
|
|
|
6
2
通过保存,你的意思是使用它们显示在网页或类似的东西? 如果是这样的话,更好的选择是使用文件,如果你使用一个数据库,它会不断地受到照片请求的影响。这是一种规模不太大的情况。 |
|
|
7
2
但是如果你指的是属于应用程序基础结构的图像,而不是用户数据,那么答案可能是否定的。 |
|
8
2
如果我在一台web服务器上运行,并且只在一台web服务器上运行,我会将它们存储为文件。如果我在多个webheads上运行,我会将图像的引用实例放在数据库中
|
|
|
9
1
|
|
|
10
0
1.易变性是图像不需要的,因为我们不会改变图像的二进制数据,我们只会删除整个图像 2.索引搜索:图像不需要索引,因为图像的内容无法索引,索引搜索搜索BLOB的内容。 在这里使用文件系统是有益的,因为 1.更便宜 2.使用CDN实现快速访问
|
|
|
11
0
我建议使用文件系统。首先,让我们讨论一下为什么不是Blob?所以要回答这个问题,我们需要思考DB比文件系统提供了什么优势?
那为什么是文件系统呢?
|
|
|
blogger13 · 视频租赁店数据库的规范化 1 年前 |
|
|
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
Grenish Rai · Firestore错误“用户文档不存在” 2 年前 |
|
|
Saijo-Shi · PLpgsql中的更新触发器 2 年前 |
|
Dante · Django::配置不当:池不支持持久连接 2 年前 |
|
YouLocalRUser · 删除重复行,保留第一行 2 年前 |