windows - 目录中有多少个文件太多(在 Windows 和 Linux 上)?

标签 windows linux file filesystems

<分区>

Possible Duplicate:
How many files in a directory is too many?

有人告诉我,在一个目录中放置太多文件会导致 Linux 和 Windows 出现性能问题。这是真的?如果是这样,避免这种情况的最佳方法是什么?

最佳答案

根据 this Microsoft article ,目录的查找时间与条目数的平方成正比。 (尽管这是针对 NT 3.5 的错误。)

有人在 Old Joel on Software Forum 上提出了类似的问题。 .一个答案是性能似乎在 1000 到 3000 个文件之间下降,并且一张海报达到了 18000 个文件的硬性限制。还有一篇文章声称可能有 300,000 个文件,但搜索时间会迅速减少,因为所有 8.3 文件名都用完了。

为避免大目录,创建一个、两个或更多级别的子目录并将文件散列到这些目录中。最简单的哈希类型使用文件名的字母。因此,假设您选择了 3 层嵌套,以 abc0001.txt 开头的文件将被放置为 a\b\c\abc0001.txt。 3 可能有点矫枉过正——每个目录使用两个字符会减少嵌套级别的数量。例如ab\abc0001.txt。如果您预计任何目录都将远远超过 ca,则只需要进入两层嵌套。 3000 个文件。

关于windows - 目录中有多少个文件太多(在 Windows 和 Linux 上)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2994544/

相关文章:

file - 如何检查make中是否不存在目录并创建目录

windows - 您可以在兼容模式下运行 Windows 批处理文件吗

linux - 如何从一个目录跳转到另一个目录并在屏幕上显示当前工作目录,否则显示错误?

python - 在 Python 中通过 Xlib 找出鼠标按钮状态

javascript - Node js检查文件是否被另一个进程使用

Android httpPost 带参数和文件

c++ - 动态变量和

linux - Rebar3 从主机操作系统释放 ERTS 文件?

r - RStudio 和 R 中波浪号扩展的区别

linux - Ubuntu-带有 ACL 的 sudo