我听说B-Tree数据库比Hash表更快,所以我想到为我的项目使用B-Tree数据库.python中是否存在允许我们使用此类数据结构的现有框架,还是我必须从头开始编写代码?
Sin*_*ion 25
选择B树在哈希表,无论是在存储器或与块存储(如在数据库中)的唯一原因是为了支持大于等于其他查询.b树允许您执行具有良好性能的范围查询.许多键值存储(如伯克利DB)不要让这个外部可见的,但是,因为他们仍然哈希键,但仍让你快速,稳定地遍历整个数据集(迭代器仍然有效,即使有增加或删除,或树必须重新平衡).
如果你不需要范围查询,你不需要同时迭代,那么你不需要B树,使用哈希表,它会在任何规模的更快.
编辑:我有机会真正做到这一点; 为此,该blist
包似乎是已排序容器库的最完整实现.
你真的应该看看zodb。 http://www.zodb.org/en/latest/
我很早就写了一本关于它的专着,尽管它是西班牙语的http://sourceforge.net/projects/banta/files/Labs/zodb/Monografia%20-%20ZODB.pdf/download
有很多英文信息。