그래서 항상 Extra 열의 "Where Using"를 보는 것이 좋습니다. 그러나, 나는 EXPLAIN intepreting에 나의 동료에 대한 갈색 점심 도시락을 계획하고 있었고, 지금 나는 그렇게 확신하지 않는다. MySQL의 문서는 "Where Using"에 대한 주석에서 다음과 같이 설명합니다 :MySQL 최적화 : EXPLAIN "Extra"열에 "Where Using"이 포함되어 있습니다.
WHERE 절은 다음 테이블과 일치 시키거나 클라이언트에게 보낼 행을 제한하는 데 사용됩니다. 테이블에서 모든 행을 가져 오거나 조사하려는 경우가 아니라면 Extra 값이 Where를 사용하지 않고 테이블 조인 유형이 ALL 또는 index 인 경우 쿼리에 잘못된 것이있을 수 있습니다. WHERE 절의 모든 부분에 대해 인덱스를 사용하더라도 열이 NULL 일 수있는 경우 Where using을 볼 수 있습니다.
이 있음을 믿고 날 리드 경우에도 내 절은 열이 NULL 값을 가질 수 있다면 MySQL이 여전히 행을 검토 것, 인덱스의 일부를 포함하고 있습니다.
사실입니까? 그렇다면 필요하지 않으면 NULL을 포함하지 않도록 열을 변경해야합니까? 나는 속도 향상을 볼 것인가?
방금 테스트를 마쳤습니다. 열을 null에서 null로 변경 한 다음 "using using where"이 사라졌습니다. – tomwang1013