mysql 字符集不一致导致索引失效问题
问题:
两张表,同一个字段,由于字符集不一致,导致虽然都有索引,在关联查询时,索引失效
身份表 identity_info ,查询索引信息 show index from identity_info
用户表 user_info,索引信息 ,show index from user_info
执行计划 explain SELECT ui.*
FROM identity_info ii
LEFT JOIN user_info ui ON ii.user_id = ui.user_id
如下图,索引引用失败,走的全表扫描
执行SQL 修改字符集 ALTER TABLE user_info modify
user_id
char(36) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci;
执行计划explain SELECT ui.*FROM identity_info iiLEFT JOIN user_info ui ON ii.user_id = ui.user_id
如图,索引引用正常