文件名的长度是否会影响巨大的NTFS文件夹索引?

Pet*_*sig 5 windows filesystems performance ntfs

我有NTFS文件夹,可能会增长到100,000到1,000,000个文件,这个答案讨论的NTFS性能上限.

我的文件具有以下特征:

1)它们具有长文件名(通常为64到100个字符).

2)对于许多文件,文件名的前导部分对于前20到40个字符可以是相同的.

长文件名是否影响NTFS文件夹索引性能,从名称中查找文件的记录,索引的碎片或索引的增长?

NTFS文件夹索引(据报道)是B树.我已经测试了我的软件到50,000个文件,但我正在运行一个"快乐路径"测试,几乎没有文件系统流失.测试到1,000,000将需要几周的时间来不间断地运行我的软件.

我考虑过编写一个模拟器,但在此之前,有没有人有这方面的实际经验?

MJZ*_*MJZ 1

NTFS 目录是 BTree,其内部节点和叶节点都有数据。由于没有任何“键前缀压缩”,因此文件名的全文也存储在节点中。

使用具有大量相同前缀字符的测试文件名来搜索它只会浪费时间,因为在遇到区分字符之前查看目录的每个“页面”都会进行一堆相同的比较。如果您可以使名称中最左边的字符成为最可变的字符,那将是一个巨大的帮助。

但是,最终,没有一个文件系统是一个好的数据库,也没有一个数据库是一个好的文件系统。您需要考虑文件的大小和预期的使用特征。