我有一个包含大量文件的目录。超过10,000个文件。我们要重构这个目录。每2个文件属于某个“项目”。我们现在的计划是将目录拆分为多个目录,并为每个“项目”提供自己的目录和每个自己的文件。
目前,我们将文件名与“item”的主键一起存储在我们的数据库中。
现在我想知道,管理这些文件的最佳解决方案是什么?使用php的readdir函数来读取目录以获取图像是否更好?或者更好地读取数据库表并获取具有这些名称的文件?
我想知道什么能提供最佳性能以及处理大量图像的最常用方法。
谢谢!
答案 0 :(得分:0)
浏览数据库。假设它被正确编入索引,它将比扫描文件系统所需文件夹的速度快几个数量级。
通过SQL查询找到您感兴趣的记录,然后在磁盘上找到相应的文件。这不仅更快,而且还可以作为更多附加功能的基础:除了在文件系统的线性搜索之外自己实现类似功能外,您将能够更轻松地搜索和排序记录。
答案 1 :(得分:0)
我会使用数据库来查找文件。 readdir可能很慢,并且无法通过sql查询获得相同数量的智能。如果您决定移动目录s3,那么您将受到使用readdir的选择的限制。还使用readdir强制文件与php client hwich在同一服务器上也是另一个限制。