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
如圖,索引引用正常