我们可以通过explain关键字分析sql的执行计划,从而可以检查是否用到索引
当用的组合索引时,有可能只使用前半部分索引,此时key_len的数值小于组合索引的大小
account_id varchar(20),region varchar(3),PurchaseDate varchar(30)这样的组合索引 account_id, region, PurchaseDate,如果where条件跳过region,则只会使用到account_id索引,所以此时explain的结果中key_len的大小为20*4+2+1=83测试环境:mysql8.0,字符集为utf8mb4
| 类型 | 字节数 | 编码 |
|---|---|---|
| int | 4 | utf8mb4 |
| char | 4 | utf8mb4 |
| varchar | 4 | utf8mb4 |
| bigint | 8 | utf8mb4 |
| datetime | 5 | utf8mb4 |
| date | 4 | utf8mb4 |
| time | 4 | utf8mb4 |
| year | 2 | utf8mb4 |
| timestamp | 5 | utf8mb4 |
原文:https://www.cnblogs.com/lyalong/p/14911222.html