mysql查询IN索引无效的问题【已解决】

时间:2024-03-15 12:23:27

使用IN查询时,数据为相同类型的数据是可以正常使用索引的

mysql查询IN索引无效的问题【已解决】

 

但是,当IN里面嵌套子查询的是,emmm神一般的消失掉了?

mysql查询IN索引无效的问题【已解决】

询问大佬之后,说是当时用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