当使用关联查询(inner 、left、right join)等进行查询时候,关联条件都已建立索引, 但查看执行计划发现并未走索引。(执行时间也可以看出来。)
原因:两表字段的字符集不相同导致关联查询索引失效
解决方案:1.修改表字段字符集类型,保证字符集一致
2.使用convert()函数,保证关联的索引字段 转换后两边字符集一致
例子:
select * FROM tbl1 a inner join tbl2 b on
CONVERT(a.TopicId USING UTF8) = b.tbl_Index
where 1=1 order by a.tbl_index desc LIMIT 0,150;
亲测有效!!!