美文网首页
mysql left join 索引无效解决

mysql left join 索引无效解决

作者: 软红十丈 | 来源:发表于2018-01-09 14:40 被阅读0次

问题:执行explain分析sql

EXPLAIN

SELECT

de.*, a.id,

dt.disburseName,

u.realname hzUsername,

u.realname username

FROM

disburse_evidence de

LEFT JOIN account a ON a. NO = de.accountNo

LEFT JOIN disburse_type dt ON dt.id = de.payTypeId

LEFT JOIN USER u ON u.id = a.userId

其中disburse_evidence 和 account 未用到no字段和accountNo字段的索引

分析:

1、单独查询每个表,能使用索引,说明索引是正常的

2、查看这两个列是否有null值,有null,改掉后再次执行分析,还是未用到索引

3、查看字段类型是否相同--相同

4、查看是否允许为空,都不允许

5、查看两个字段的字符集,不相同,改正后能正确使用索引。问题解决

相关文章

网友评论

      本文标题:mysql left join 索引无效解决

      本文链接:https://www.haomeiwen.com/subject/zxhfjttx.html