我们可以通过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