Python中有没有B树数据库或框架?
我听说B树数据库比哈希表要快,所以我想在我的项目中使用B树数据库。请问在Python中有没有现成的框架可以使用这种数据结构,还是我需要从头开始编写代码呢?
6 个回答
3
5
33
选择B树而不是哈希表的唯一原因,无论是在内存中还是在数据库的块存储中,是为了支持除了相等以外的查询。B树允许你进行范围查询,并且性能很好。许多键值存储(比如Berkeley DB)并没有把这一点显露出来,因为它们仍然是通过哈希来处理键的,但这仍然让你可以快速而稳定地遍历整个数据集(即使有添加或删除操作,或者树需要重新平衡,迭代器依然有效)。
如果你不需要范围查询,也不需要并发迭代,那么你就不需要B树,使用哈希表就可以,它在任何规模下都会更快。
编辑:我发现上述说法确实是正确的;为此,blist
这个包似乎是最完整的排序容器库实现。