MySQL 執行計畫中key len計算規則

2022-03-15 09:27:50 字數 523 閱讀 3206

主要介紹在mysql資料庫當中的sql語句執行計畫中key_len計算

影響索引長度因素:

-- 1. 索引列為字串型別的情況

1) 列長度:

2) 列是否為空: null(+1),not null(+0)

3) 字符集: 如 utf8mb4=4,utf8=3,gbk=2,latin1=1

4) 列型別為字元: 如 varchar(+2), char(+0)

計算公式:key_len=(表字符集長度) * 列長度 + 1(null) + 2(變長列)

示例

1) charact_set=utf8, char(50), null

key_len=(3*50+1+0)=151

2) charact_set=utf8, char(50), not null

key_len=(3*50+0+0)=150

3) charact_set=utf8, varchar(50), null

key_len=(3*50+1+2)=153

mysql執行計畫 MySQL 執行計畫

1.執行計畫的定義 什麼是執行計畫 查詢計畫 呢?執行計畫就是一系列的操作步驟。sql是宣告性語言,它只告訴資料庫要查詢什麼,但並不告訴資料庫如何去查。資料庫所要做的就是基於演算法和統計資訊計算出一條最佳的訪問路徑。這個工作是由優化器來完成的。優化器會比較不同的執行計畫,然後選擇其中最優的一套。2....

mysql 生成執行計畫 MySQL執行計畫

和很多其他關係型資料庫不通,mysql並不會在生成查詢位元組碼來執行查詢。mysql生成查詢的一棵指令樹,然後通過儲存引擎執行完成這棵指令樹並返回結果。最終的執行計畫包含了重構查詢的全部資訊。如果某個查詢執行explain extended 之後,在執行show warnings,就可以看到重構出的...

mysql 查詢執行計畫 MySql執行計畫的檢視

一。什麼是資料庫執行計畫 利用乙個sql語句,你可能要server取出所有news表中的資訊.當server收到的這條sql的時候,第一件事情並不是解析它.如果這條sql沒有語法錯誤,server才會繼續工作.server會決定最好的計算方式.server會選擇,是讀整個news表好呢,還是利用索引...