天天看點

mysql語句查詢很慢(資料不多或都有索引)

發現一個問題:隻是一個簡單的兩個表關聯查詢,發現運作很慢

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

mysql語句查詢很慢(資料不多或都有索引)
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;