업무를 하다가, LEFT JOIN과 JOIN으로 속도차이가 확연한 것을 발견했다.
비교하는 행 수가 아예 다르다면(즉, 위의 그림 중 빨간 영역의 데이터들이 다르다면) 속도 차이가 나는 것을 이해하지만, 내가 조회한 데이터는 같은 데이터였다.
그러나 둘 다 조회하는 행 수는 같았다..
그래서 explain으로 쿼리문을 뜯어보니..
INNER JOIN으로 JOIN한 경우에는
LEFT JOIN으로 한 경우에는
여기서 type이 JOIN 속도와 밀접한 항목인데, 각 JOIN을 PK로 조인할 때 차이가 난다.(PK가 아닌 column으로 JOIN하면 속도가 비슷한 것을 발견..!)
추가적으로, 8.0부터는 inner join에 hash join 방식도 들어가서 더 빠르다고 하니.. 상황에 따라 효율적인 쿼리문을 작성하자.