Mysql 索引不生效


SELECT
    od.origin_amount,
    o.id,
    od.id,
    od.course_id,
    od.assign_user_id 
FROM
    easyway_order o
    LEFT JOIN easyway_order_detail od ON od.order_id = o.id

img

SELECT
    wpd.id,
    wpd.min,
    wp.id,
    wp.`name`,
    wp.work_type,
    wp.order_type obj_type 
FROM
    easyway_wage_project wp
    LEFT JOIN easyway_wage_project_detail wpd ON wpd.project_id = wp.id

img

很疑惑 不知道为啥 ,同样在 非主键字段都有索引

你看看表easyway_wage_project_detail是否有index或者id是否有主键

是否是表中数据特点导致的,如果表中的数据都是一个项目id,那么mysql评估不使用索引更快,则不使用,取决于数据的特点.

不走不索引的原因两个方面排查:
1.检查统计信息,信息不正确用analyze table 更新
2.wpd.project_id = wp.id 的值占总行数的大部分,所以还不如全表扫。