主要介紹在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