MYSQL 查询效率低,设置索引几乎无效

各位大神,帮帮忙

 EXPLAIN SELECT
            x.*
        FROM
            jx_students_score x
        LEFT JOIN jx_student_class z ON x.class_id = z.id
        WHERE
            z.del_flag != '1'
        AND x.del_flag = 0
        GROUP BY
            x.classz,
            x.examination_id

以下是检测和运行的索引
图片说明
![图片说明

首先,这里又联合,又不等于,又是两个字段分组汇总,怎么可能用到索引。
group by 要用到索引的条件(1、引用同一索引属性(索引属性 唯一性,稀疏性 ...)2、索引按顺序保存,3、b-tree索引),无论如何都无法满足。
看数据量很少,才几千而已,可以将语句分步查询,效率会很好。
第一步分类汇总 classz,examination_id的数据,
第二步in查询jx_student_class 的信息。那个del_flag 不等于的条件,换成相反的用in查询的条件。
效率会大幅提升。

1.group by没用到聚合函数有什么意义
2.都是单一索引,(classz, examination_id, del_flag...)这种

EXPLAIN SELECT
x.*
FROM
jx_students_score x
LEFT JOIN jx_student_class z ON x.class_id = z.id AND z.del_flag IN (..包含的条件.)
WHERE
x.del_flag = 0
GROUP BY
x.classz,
x.examination_id
然后再x中创建一个 class_id,del_flag,classz,examination_id的复合索引 这样感觉应该要快些了