【发布时间】:2013-02-04 20:28:14
【问题描述】:
我有一个共享服务,我在 Windows 2008 服务器的一个 NTFS 目录上有 100,000 多个文件。
问题是,关于性能,将所有文件添加到 mysql blob 是否更好?
【问题讨论】:
-
这真的取决于这些文件的使用方式——它们是否经常被写入/读取?由不同的用户?
-
没有。数据库中的文件通常是一个愚蠢/坏主意。很少有使用案例需要这样做。如果访问时间成为问题(例如单个目录中的所有 100k 文件),您可以尝试将负载拆分到多个子目录中,例如基于文件名的第一个字符。但与所有事情一样,您必须对每个解决方案进行基准测试,并找出哪个解决方案“最便宜”。
-
文件的大小也会产生巨大的影响。您可能不想在数据库中存储大文件。
-
这是图片文件,每个 200K-9MB。
-
一台服务器上有这么多文件,如果你有足够的流量,你很可能会遇到 IO 问题。数据库也是如此,因为 blob 将存储在磁盘上。您将需要查看分布式存储系统(如果您设置使用物理托管,则类似于 amazon s3 或 NAS)
标签: php mysql ntfs windows-server