MySQL索引長度 key len 計算

2021-10-25 22:05:42 字數 378 閱讀 4220

1.索引字段,非not null,加1個位元組。

2.定長字段:tinyiny佔1個位元組、int佔4個位元組、bitint佔8個位元組、date佔3個位元組、datetime佔5個位元組,char(n)佔n個字元。

3.變長字段:varchar(n)佔n個字元+2個位元組。

4.不同的字符集,乙個字元占用的位元組數不同:

字段:phonevarchar(20) default null comment 『手機號』

條件:where phone=『***』

通過explain檢視key_len

utf8mb4編碼下,key_len=83,即20*4+2+1

utf8編碼下,key_len=63,即20*3+2+1

mysql 索引長度

specified key was too long max key length is 767 bytes mysql在innodb引擎下的主鍵索引或者unique索引的最大長度為767bytes,在myisam下是1000bytes。當時我在建立unique索引的時候使用了兩個varchar 2...

mysql索引長度

大家應該知道innodb單列索引長度不能超過767bytes,聯合索引還有乙個限制是長度不能超過3072。mysql createtable tb a varchar 255 defaultnull,b varchar 255 defaultnull,c varchar 255 defaultnul...

Mysql 索引長度限制

在設定 utf8mb4 欄位的字元長度時,可能會丟擲乙個異常 specified key was too long max key length is 1000 bytes 也就是在給表的索引字段新增字元長度時,超過了最大索引長度 1000 位元組。關於索引長度的限制,最主要的因素就是儲存引擎和字符...