mysql查詢IN索引無效的問題【已解決】

使用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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章