新手问题 文件查询的疑惑

luffycn · October 05, 2014 · Last by hooopo replied at October 05, 2014 · 1187 hits

在本地电脑做了个小测试

在 10000 个文件里面找其中某个文件 跟 在 30 个文件里面找其中某个文件

t_10000 = 程序执行后的 Time.now - 程序开始执行的 Time.now t_30 = 程序执行后的 Time.now - 程序开始执行的 Time.now

我以为 10000 应该是一个很巨大的文件数了 但发现 t_10000 跟 t_30 的时间相差很微小

文件要达到多少时,才会感觉到查询比较慢呢

那么你要知道查找文件的原理。文件信息是放在磁盘分区的 inode 里面,inode 的数据结构是树,每个节点放置了好多的文件信息。预估一下,一个文件需要消耗的 inode 字节猜测是 20B,那么 1 万个就是 200K 的信息。。。不多嘛。

不是查询效率问题,是单个目录有文件个数限制。所以才会有 ID Partition 这东西。

https://signalvnoise.com/archives2/id_partitioning.php

You need to Sign in before reply, if you don't have an account, please Sign up first.