对于大量的文件,什么样的目录结构是最好的。
考虑到我有超过2000万个使用数字id作为文件名的文件(例如13842985.xml)。
如果能配上这样的东西

filename : 13842985.xml
directory :  1/3/8/13842985.xml

我如何才能做到这一点,其中所有的文件分散均匀在每个目录和子目录。

最佳答案

请将您的方法稍微改为:

filename  : 13842985.xml
directory : 842/985/13842985.xml    # use the 6 last to create the directory name

我假设文件名是随机的此方案将创建1000个顶级文件夹,每个文件夹包含1000个子文件夹。从最后一个数字开始而不是从第一个数字开始,将保护您不受长文件名的影响:
filename  : 138429851234.xml
directory : 851/234/138429851234.xml

希望这有帮助!
编辑:首先散列文件名,然后使用这个数字,可以避免退化的情况(例如,只在开头变化)。

07-24 21:53