执行sql:
SELECT
a.id,
a.storeId,
a.wangwangid,
a.type,
a.statsType,
a.storetext,
a.storetextImgs,
a.addTime,
s.user_account AS userAccount,
a.uid,
a.umoney,
a.utype,
g.goods_price AS goodsPrice
FROM
appeals a
LEFT JOIN sys_user s ON a.uid = s.uid
LEFT JOIN gd_task g ON a.task_id = g.task_id
WHERE
1 =1
limit 0,20
这里因为gd_task表数据较多连表时索引失效。
场景:当使用关联查询(inner 、left、right join)等进行查询时候,关联条件都已建立索引,但查看执行计划发现并未走索引。
原因:两表字段的字符集不相同导致关联查询索引失效
解决方案:1.修改表字段字符集类型,保证字符集一致
2.使用convert()函数,保证关联的索引字段 转换后两边字符集一致
结果如图: