发现一个问题:只是一个简单的两个表关联查询,发现运行很慢
- 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
为了保持一到,把utf8mb4改成utf8;
运行更改语句
- 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;