发现一个问题:只是一个简单的两个表关联查询,发现运行很慢
SELECT
`ru`.*
FROM
`edu_reg_unu` `ru`
LEFT JOIN `edu_od` `o` ON `o`.`number`=`ru`.`number`
GROUP BY `ru`.`id`
ORDER BY ru.id
LIMIT 0,10
从语句上看不复杂,也查询索引 number都有创建索引,应该不会这么慢的,
研究发现两个表的字符集不一致:
edu_reg_unu是utf8
edu_od是utf8mb4
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQDOxEzX3xCZlhXam9VbsUmepNXZy9CXwJWZ3xCdh1mcvZ2Lc1zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsAzMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xiNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxYDN5YWMmBzNiBDZ3IWMzYzX3ATM1EDMwEzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
ALTER TABLE `edu_reg_unu` CHARACTER SET = utf8, COLLATE = utf8_general_ci;
# 下面这个语句一定运行
ALTER TABLE `edu_reg_unu` CONVERT TO CHARSET utf8;
ALTER TABLE `edu_reg_unu` CONVERT TO CHARSET utf8;