Mysql连接查询时索引失效,字符集问题

来源:互联网 发布:c读取excel单元格数据 编辑:程序博客网 时间:2024/05/22 05:12

关于Mysql连接查询时索引失效的问题(字符集)

开发过程中遇到一个sql,两张表a,b连接查询.a表数据量在3000左右,b表数据量在1w左右,连接时使用b表主键可a中某字段进行相等连接a表全表扫描,b表通过主键连接EXPLAIN中row应为1,却显示1w,等于每次连接都全表扫描a表,相当与共扫描行数3000*1w次,耗时很久.

原因

排查过后发现两表字符集与排序规则均不相同

解决办法

使用sql

ALTER TABLE table_name CONVERT TO CHARACTER SET ‘utf8’ COLLATE ‘utf8_general_ci’ 将两表的字符编码和字符集变更为一致。完美解决!

原创粉丝点击