mysql中BTree索引的理解

wh7577發表於2021-09-11

mysql中BTree索引的理解

概念

1、BTree又叫多路平衡查詢樹。所有結點儲存一個關鍵字。

非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹(簡單說, 左邊比自己小,右邊比自己大)

特點

2、以B+樹結構儲存資料,大大加快了資料的查詢速度

在範圍查詢的SQL語句中更加適合(順序儲存)

使用場景

全值匹配的查詢SQL,如 where act_id= '1111_act'

聯合索引匯中匹配到最左字首查詢,如聯合索引 KEY idx_actid_name(act_id,act_name) USING BTREE,只要條件中使用到了聯合索引的第一列,就會用到該索引,但如果查詢使用到的是聯合索引的第二列act_name,該SQL則便無法使用到該聯合索引(注:覆蓋索引除外)

匹配模糊查詢的前匹配,如where act_name like '11_act%'

匹配範圍值的SQL查詢,如where act_date > '9865123547215'(not in和<>無法使用索引)

覆蓋索引的SQL查詢,就是說select出來的欄位都建立了索引

以上就是mysql中BTree索引的理解,希望對大家有所幫助。更多mysql學習指路:

推薦作業系統:windows7系統、mysql5.8、DELL G3電腦

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2480/viewspace-2829514/,如需轉載,請註明出處,否則將追究法律責任。

相關文章