MySQL重温笔记-索引
生活随笔
收集整理的這篇文章主要介紹了
MySQL重温笔记-索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
mysql分客戶端、服務層、存儲引擎層,而索引的實現就是在存儲引擎層,因此各個不同的存儲引擎之間的索引都有細微的差別。
【B-Tree索引】
- MyIsam使用前綴壓縮技術使得索引更小,Innodb則按照原數據格式進行存儲
- MyIsam索引通過數據的物理位置引用被索引的行,Innodb則根據主鍵引用被索引的行。
- 索引樹中的節點是有序的,所以索引適合全鍵值、鍵值范圍或鍵前綴查找(最左)。因為是順序的,所以也適合排序。
- 聯合索引的索引順序很重要
?
【哈希索引】
- 基于哈希實現。
- 只有Memory引擎顯式支持哈希索引
- 哈希索引只包含哈希值和行指針,而不存儲字段值
- 哈希索引數據并不是按照索引值順序存儲的
- 哈希索引不支持部分索引列匹配查找,哈希索引值是使用索引列全部內容來計算哈希值的
- 哈希索引只支持等值比較查詢
- 訪問哈希索引的數據比較快,但是有多哈希值沖突的風險。
?
【全文索引】
查找匹配的是文本中的關鍵詞,類似于搜索引擎
?
【索引的優點】
- 減少表數據的掃描數量,不用全表掃描了
- 避免排序和臨時表【索引按順序的,節省了排序時間】。
- 將隨機I/O變為順序I/O
【重點】【高效實用索引的技巧】
?
給text類型添加索引時,可以使用前綴索引,就是將值的內容截取一部分作為索引。
?聯合索引(多列索引)要注意列順序。一般是考慮的因素是,使用率最高的列放到索引前列,避免隨機IO,排序。
?
【MySQL能夠使用三種方式應用WHERE條件,從好到壞的順序為】
?
?
【查詢的執行流程】
?
轉載于:https://www.cnblogs.com/ymkfnuiwgij/p/8642587.html
總結
以上是生活随笔為你收集整理的MySQL重温笔记-索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PTA实验作业-01
- 下一篇: python学习三:列表,元组