Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Entendendo o key_len do MySQL na instrução Explain


O key_len especifica o número de bytes que o MySQL usa da chave.
Os índices são sempre usados ​​left_to_right. ou seja, apenas a parte mais à esquerda é usada.

O comprimento dos seus campos é o seguinte:
1 byte             `Type` char(1) NOT NULL,
1 byte             tn char(1) NOT NULL DEFAULT 'l',
1 byte             act tinyint(1) unsigned NOT NULL DEFAULT '0',
3 bytes            flA mediumint(6) unsigned NOT NULL DEFAULT '0',
1+1+1+3 = 6 bytes  KEY `Index` (`Type`, `tn`, `act`, `flA`)
 key usage always starts here ---^^^^^

Se key_len =3 então está usando type+tn+act .
Observe que Key_len =4 é impossível nesta configuração.