在DB

时间:2016-03-07 08:57:08

标签: database filepath hierarchical-data

我需要一些方法来最有效地在DB中存储文件(和文件夹)路径(接近一百万条记录),以便我可以搜索那些名称。

保存完整路径显然是错误的,因为会发生很多重复,例如:

C:\Windows
C:\Windows\System
C:\Windows\System\Notepad.exe

为此,我构建了一个简单的分层数据库,只有三个字段:

ID           Name           Parent
0                C:                null
1            Windows            0
2             System             1
3          Notepad.exe        2

我正在通过"递归使用"来恢复项目的路径。言。

性能完全令人满意,但是,我对数据库大小不满意,使用SQLite会给出预期的数据库大小(如果你根据"名称"列中的平均字符串长度来计算它的大小),但是当我将它与着名的文件搜索实用程序的数据库大小进行比较时,我感到很震惊,#34; Everything",具有相同数量的记录("所有内容"报告),DB为3-4倍小!

因为将来有可能有多达1000万条记录,我担心应该有更有效的存储方式,任何想法?

P.S 这不是关于使用哪个DB供应商,或者甚至是10 mil。 REC。 DB的大小仍然是500Mb,但如果有更有效的方法,这是一个概念性的问题。

0 个答案:

没有答案