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

2021-09-12 19:56:52 字數 818 閱讀 6521

使用in查詢時,資料為相同型別的資料是可以正常使用索引的

但是,當in裡面巢狀子查詢的是,emmm神一般的消失掉了?

詢問大佬之後,說是當時用select之後使用了函式內部轉換,mysql是不支援函式索引的。so,問題來了應該怎麼辦呢?

直接與子查詢進行join關聯,這種寫法相當於in子查詢寫法,而且效率有不少的提高

explain select

a.id,

a.stu_id

from

jx_students_scorex a,(

select

idfrom

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.006

mysql時間範圍查詢 索引無效

mysql mysql時間範圍查詢 索引無效5c 死活不走帶時間的索引 求大佬幫忙給個解決方案 分享zoelulur 聲望 0 4個回答 按讚數排序 對於range型別,選擇性小於17 了,就會走全表掃瞄,而非range 發布於 2018.12.29 09 30分享 飛揚科技123 聲望 0 如果a...

MYSQL索引無效和索引有效的詳細介紹

1 where字句的查詢條件裡有不等於號 where column mysql將無法使用索引 2 類似地,如果where字句的查詢條件裡使用了函式 如 where day column mysql將無法使用索引 3 在join操作中 需要從多個資料表提取資料時 mysql只有在主鍵和外來鍵的資料型別...

MYSQL索引無效和索引有效的詳細介紹

1 where字句的查詢條件裡有不等於號 where column mysql將無法使用索引 2 類似地,如果where字句的查詢條件裡使用了函式 如 where day column mysql將無法使用索引 3 在join操作中 需要從多個資料表提取資料時 mysql只有在主鍵和外來鍵的資料型別...