| utf8mb4 char(10) | 40 字节(NOT NULL) |
|---|---|
| utf8mb4 varchar(20) | 约 82 字节(4×20+2) |
| 可空列 | 再加 1 字节 null 标志 |
| BIGINT | 8 字节;INT 4 字节 |
反推示例
反推示例
-- idx(user_id, status, created_at)
EXPLAIN SELECT * FROM appdb.orders
WHERE user_id = 1 AND status = 2;
-- key_len 只覆盖 user_id+status 的长度 => 第三列未参与索引定位
-- 若 key_len 等于三列总长,说明全用上(第三列可能用于范围/排序)key_len 不反映用于排序还是查找;排序场景还要结合 Extra 是否 filesort。