日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql查询索引数组_mysql-索引

發布時間:2025/3/20 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql查询索引数组_mysql-索引 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

索引模型: hash,有序數組,搜索樹

1,hash: key,value存儲。存儲結構類似于Java7 的hashmap。 同一節點使用鏈表的形式存儲。適合單個等值查詢,不適用于范圍查詢

2,有序數組:按從大到小有序存儲,類似于鏈表。等值,范圍查詢使用二分 時間復雜度Olog(N),查詢效率搞。但插入一條數據都要,移動后面的所有數據。適用于靜態存儲引擎

3,搜索樹:樹結構,查詢時間復雜度O(log(N)),更新時間復雜度O(log(N)).

數據庫大都不適合使用二叉樹,層級會非常高,每一層存放在一個數據頁中,100萬節點的平衡二叉樹,樹高20,需要訪問20個數據塊,每個數據快的尋址大概需要10ms.查詢耗時比較長.

搜索需要查多次磁盤(從磁盤隨機讀取一個數據塊,需要10ms左右的尋址時間)。

innoDB引擎的索引。B+樹

innoDB的索引模式也可以稱之為N叉樹,這個N大概為1200。N叉樹的高度一般不超過4,當高度為4時,其可以存儲的數據為1200的三次方,大概為17億。這樣查詢一個值最多只需要訪問3次磁盤。

而且樹的第二層,有很大的概率在內存中,這樣大大提升了查詢效率。

innoDB的數據存儲在B+樹的葉子節點,按主鍵順序存儲。相當于主鍵索引,也稱之為聚簇索引。

非主鍵索引,也稱之為二級索引。二級索引也是一顆B+樹,按索引字段排序。

二級索引的查找數據過程,先通過普通索引查出數據對應的主鍵,在通過主鍵查詢整行信息(查詢數據不僅是主鍵時)(回查聚簇索引,稱之為回表)

如果查詢的數據只是主鍵id,不需要回表,因為通過二級索引已經可以查詢到主鍵信息。稱之為覆蓋索引。

注意:每次數據調整,都需要調整每顆樹的結構。在索引過多時,每次新增需要調整的數據結構就更多。

固索引當按需創建,杜絕無效索引。

另外索引支持最左前綴原則,like 'li%' 這種形式可以支持索引。

索引下推 聯合查詢時,先在索引中過濾完成之后再回表取數據

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的mysql查询索引数组_mysql-索引的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。