이의 우리가 공통 아래처럼 가입 있다고 가정 해 봅시다 :쿼리
EXPLAIN SELECT *
FROM visited_links vl
JOIN device_tracker dt ON (dt.Client_id = vl.Client_id
AND dt.Device_id = vl.Device_id)
GROUP BY dt.id
것은 우리가 설명 실행하면, 그것은 말한다 :
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE vl index NULL vl_id 273 NULL 1977 Using index; Using temporary; Using filesort
1 SIMPLE dt ref Device_id,Device_id_2 Device_id 257 datumprotect.vl.device_id 4 Using where
내가 아는 그룹화 기준을 사용할 때 올바른 색인을 선택하기가 어렵지만이 쿼리에서 'filesort를 사용하여 임시 사용'을 피하기 위해 설정할 수있는 색인은 무엇입니까? 왜 이런 일이 일어 났습니까? 특히 인덱스를 사용한 후에 이것이 발생하는 이유는 무엇입니까?