当前位置:  开发笔记 > 编程语言 > 正文

在包含500,000个文件的目录中快速访问文件

如何解决《在包含500,000个文件的目录中快速访问文件》经验,为你挑选了2个好方法。

我有一个包含500,000个文件的目录.我想尽快访问它们.该算法要求我重复打开和关闭它们(不能同时打开500,000个文件).

我怎样才能有效地做到这一点?我原本以为我可以缓存inode并以这种方式打开文件,但是*nix没有提供通过inode打开文件的方法(安全性或其他一些方法).

另一个选择是不要担心它,并希望FS在文件查找目录中做得很好.如果这是最好的选择,哪个FS最好.某些文件名模式是否比其他文件模式更快?例如01234.txt vs foo.txt

顺便说一句,这完全在Linux上.



1> Corbin March..:

假设您的文件系统是ext3,如果启用了dir_index,则您的目录将使用散列B树进行索引.这将为您提供与您在应用程序中编码的任何内容一样多的提升.

如果目录已编制索引,则文件命名方案无关紧要.

http://lonesysadmin.net/2007/08/17/use-dir_index-for-your-new-ext3-filesystems/



2> Douglas Leed..:

一些想法:

a)如果可以控制目录布局,则将文件放入子目录中.

b)如果你不能移动文件,那么你可能会尝试不同的文件系统,我认为xfs可能适用于有大量条目的目录?

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有