[英]How RDBMS B+ Tree Indexing works for Select Query
我了解到B +樹用於實現RDBMS,現在我想在C / C ++中實現RDBMS,我已經了解了B +樹,還看到了SQLite。
我對搜索查詢在數據庫上的工作方式有概念上的疑問,我們將(鍵,值)存儲在B +樹上,現在說我有一張桌子
與列{id,name,phone,address}
我必須用phone ='xyz'搜索記錄,數據庫將如何使用B +樹有效地獲取該記錄。
它是對記錄的完整O(N)搜索還是已優化?
如果您沒有索引, 則它是完整的O ( N )搜索 。
如果您有索引,它將進行優化 。
平均情況O(logb(n))
最差的演員O(n)
B +樹是一個盲目的樹,它的工作方式更類似於MYSQL中的二進制搜索樹。 它的實現可以變化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.