使用IN查詢時,數據爲相同類型的數據是可以正常使用索引的
但是,當IN裏面嵌套子查詢的是,emmm神一般的消失掉了?
詢問大佬之後,說是當時用select之後使用了函數內部轉換,mysql是不支持函數索引的。so,問題來了應該怎麼辦呢?
直接與子查詢進行join關聯,這種寫法相當於IN子查詢寫法,而且效率有不少的提高
EXPLAIN SELECT
a.id,
a.stu_id
FROM
jx_students_scorex a,(
SELECT
id
FROM
jx_students_examination_typex
WHERE
`name` = '18-19期末考試'
AND FIND_IN_SET(project, '0,1,2,3')
AND stu_year = '2016'
AND FIND_IN_SET(
class_id,
'0893e50c04aa4308a6696eedbb182b79,4bba27df05674480a8325de9733d0fa8'
)
) t2
WHERE
a.exam_id = t2.id
OK ,解決完畢使用索引0.006s