首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高效的目录结构

问高效的目录结构
EN

Stack Overflow用户
提问于 2011-06-09 23:31:20
回答 3查看 700关注 0票数 0

对于大量文件来说,最好的目录结构是什么?考虑到我有2000多万个文件使用number_id作为文件名(例如13842985.xml)。

如果是这样的话

代码语言:javascript
复制
filename : 13842985.xml
directory :  1/3/8/13842985.xml

当所有文件均匀地分布在每个目录和子目录中时,我如何正确地执行此操作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-09 23:42:04

将您的方法稍微更改为:

代码语言:javascript
复制
filename  : 13842985.xml
directory : 842/985/13842985.xml    # use the 6 last to create the directory name

我假设文件名是随机的。此方案将创建1000个顶级文件夹,每个文件夹包含1000个子文件夹。通过从最后一位而不是第一位开始,可以防止长文件名:

代码语言:javascript
复制
filename  : 138429851234.xml
directory : 851/234/138429851234.xml

希望这能有所帮助!

编辑:通过首先散列文件名并使用这个数字,您将避免退化的情况(例如,只在开头变化)。

票数 0
EN

Stack Overflow用户

发布于 2011-06-09 23:33:11

您可以创建类似于trie的目录结构。

票数 2
EN

Stack Overflow用户

发布于 2011-06-09 23:34:45

做一些基准测试,找出必须扫描多个目录之间的折衷比扫描单个目录中的“许多”文件更便宜。

在某些情况下,打开/扫描/安全检查/等的文件系统开销...在每个目录层上,您添加的文件将比解析目录以找到您想要的单个文件所节省的成本更高。这就是你的分割/分层截止点的级别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6295409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档