RDBMS B + Tree Indexing如何用于Select Query

时间:2017-04-23 10:51:46

标签: sql database sqlite rdbms

我了解到B + Trees用于实现RDBMS,现在我想用C / C ++实现一个RDBMS,我读过B + Trees,还看过了SQLite。

我对搜索查询如何在数据库上工作存在概念上的疑问,我们将(键,值)存储在B +树上,现在说我有一张表

列{id,name,phone,address}

我必须用phone ='xyz'搜索记录,数据库如何使用B + Trees来有效地获取该记录。

是完整的O(N)搜索记录还是优化?

2 个答案:

答案 0 :(得分:1)

如果您没有索引,则is a complete O(N) search 如果您有索引,则is optimized

答案 1 :(得分:0)

平均情况O(logb(n))

最差演员O(n)

B +树是一棵blanced树,它更像是二进制搜索树,特别是在MYSQL中。它的实施可以变化。