问一个问题,MySQL5.7.29中 inner join 两表相连接,字符编码不同走了索引
left大表驱动小表不走
left 小表驱动大表走索引
数据两个表都是3000
一个是主键,一个是唯一索引
不知道这样叙述问题清楚不清楚,谢谢解答
问一个问题,MySQL5.7.29中 inner join 两表相连接,字符编码不同走了索引
left大表驱动小表不走
left 小表驱动大表走索引
数据两个表都是3000
一个是主键,一个是唯一索引
不知道这样叙述问题清楚不清楚,谢谢解答
例子,大表utf8
,小表gbk
大表驱动小表,utf8
无法转码gbk
,不能使用小表的索引
小表驱动大表,gbk
可以转码utf8
,可以使用大表的索引,EXPLAIN
的ref
列为func
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.7k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
和版本没有关系,编码不一样正常情况是走不了索引的,小表作为主表走了索引的情况应该是mysql底层做的优化。