STRAIGHT_JOIN

최준혁·2023년 2월 24일
0
post-thumbnail

지난주에는 레거시 코드를 리팩토링하는 업무를 진행하였다.
또 어느 한 api 에서 속도가 느려서 쿼리를 프린트찍어보니 속도가 느린 원인은 서브쿼리였다.
use_index를 사용해서 강제로 인덱스를 지정했는데도 불구하고 서브쿼리로 인해 그 인덱스를 사용하지 않고 있었다.
서브쿼리가 돌지않도록 열심히 구글링을 해보니 STRAIGHT_JOIN을 발견했다.

MySQL에 STRAIGHT_JOIN이라는 희한한 join이 있다.

이런 경우에 효과가 있었다고 한다.
왼쪽 드라이빙 테이블에 비해 오른쪽 테이블의 데이터가 너무 많아 필터링 해야 하는 데이터가 많은데 정렬까지 해야 하는 경우

실제로 사용결과 쿼리 속도가 평균 12s에서 500ms로 줄었다

<참고>
MySQL STRAIGHT_JOIN - w3resource

profile
HUGE FAN OF Freecodecamp, nomadcoder 까먹을까봐, 즐겨찾기에 넣어둔 블로그가 사라질까봐

0개의 댓글