MySQL索引key_len
在查看MYSQL執行計劃的時候,有一列 key_len 表示索引中使用的字節數,我們可以用它來判斷使用了幾個索引,我們使用最常用的utf-8編碼按如下幾點可以進行判斷:
1、字段類型 int為4個,date為3,datetime為4,char(n)為3n,varchar(n)為3n+2(更多字段類型自己測試下就知道了)
2、如果字段可為 null,則需要額外再加1
按如上方法計算:
char(1)可為空的情況下key_len=4,不可為空的情況下key_len=3
varchar(100)可為空的情況下key_len=302,不可為空的情況下key_len=302+1=303
再假設一個字段char(1) not null 和一個字段int not null 進行了組合索引,那么當你寫的SQL的執行計劃中的 key_len=3+4=7 時,則可以說明這2個字段在這個SQL查詢中都使用了索引。
所以我們就可以根據執行計劃中的 key_len 的長度來判斷使用了幾個索引了。
補充:
possible_keys:顯示當前SQL可能應用到的索引,一個或多個。查詢涉及到的字段上若存在索引,則該索引將會被列出,但不一定被當前查詢實際使用。
key:實際使用的索引,若為null,則沒有使用到索引。(可能因為 ①沒建立索引;②建立了索引但沒有使用上)。查詢中若使用了覆蓋索引,則該索引僅出現在key列表中。
(END)
總結
以上是生活随笔為你收集整理的MySQL索引key_len的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实体识别BERT-MRC论文阅读笔记
- 下一篇: 数据结构c语言版谭浩强pdf,谭浩强C语