我了解到B+树是用来实现关系型数据库管理系统的,现在我想用C/C++实现一个关系型数据库管理系统,我已经读到了B+树,也看到了SQLite。
我对搜索查询在数据库上的工作原理有一个概念上的怀疑,我们将(键,值)存储在B+树上,现在我说我有一个表
包含列{id,name,phone,address}
我必须使用phone = 'xyz‘来搜索记录,数据库将如何使用B+树来有效地获取该记录。
它是在记录上完成O(N)搜索还是优化?
发布于 2017-04-23 19:26:57
如果你没有索引,它就是is a complete () search。
如果你有一个索引,它就是is optimized。
发布于 2017-04-24 15:50:29
平均情况O(logb(n))
最差投射O(n)
B+树是一种平衡树,它的工作方式更像二叉树,特别是在MYSQL中。它的实现可以是不同的。
https://stackoverflow.com/questions/43570199
复制相似问题