dlsxjforxlqm
408
2021-01-14 11:41:46
4
145

mysql 서브쿼리 관련


단일 테이블인데 데이터가 많아서 조회 속도가 느린 상태입니다.

할 수 있는 최적화는 다 해본 것 같은데도 속도가 원하는 만큼 나오지 않아서 서브쿼리를 적용해볼까도 했는데

지식이 좀 부족해서요.

우선 인덱스와 파티션도 적용해서 최적화 해놓은 상태입니다.

동일 테이블을 조회하는 것이라 원래 합쳐서 만들어놓았는데 혹시 서브쿼리로 실행하면 속도가 조금이라도 나아질까 싶어서요. 아무 의미 없는 작업인가요?



SELECT

  T.추출할 데이터

FROM 

 (

    SELECT

       * 

     FROM

        테이블(파티션 포함)  

      WHERE

          조건문(인덱스1)

  ) AS T

WHERE 

  T.조건문(인덱스2)

  T.조건문 IN ( 데이터 ... )




0
  • 답변 4

  • 퀘이사123
    552
    2021-01-14 11:47:34

    서브쿼리를 사용하면 성능이 더 안나오지 않나요?

  • lkwa201
    584
    2021-01-14 12:26:46

    서브쿼리는 권장하지 않습니다. 자칫 잘못하면 성능 뿐만 아니라 다른 문제도 초래할 수 있습니다.

  • dlsxjforxlqm
    408
    2021-01-14 12:36:07

    아! 넵 감사합니다. 다른 방법을 생각해봐야겠네요

  • 쿠잉
    1k
    2021-01-14 13:13:04

    MySQL은 서브쿼리 처리가 보통 상황에서 좋지 않습니다

    플랜에서 DEPENDENT SUBQUERY  이 보일것입니다

    서브쿼리 인라인뷰 다 풀어서 조인으로 바꿔보세요

  • 로그인을 하시면 답변을 등록할 수 있습니다.