🙇‍♀️Sorting

Sorting (정렬) 을 줄이자!

O(NLogN) -> DB는 데이터가 어마어마하게 많다 너무 용량이 커서 가용 메모리로 커버가 안 되면 -> 디스크까지 찾아간다 (!) Sorting이 언제 일어나는지 파악하고 있어야 함

🪐Sorting이 일어날 떄

  1. SORT MERGER JOIN
    • 원인) 알고리즘 특성상 Merge하기 전엔 Sort를 해야 함
  2. ORDER BY
    • 원인) ORDER BY 순서로 정렬 해야 하니까 Sort
    • 인덱스가 있다면 안함
  3. GROUP BY
    • 원인) 집게를 하기 위해
    • 인덱스가 있다면 안함
  4. DISTINCT
    • 원인) 중복 제거
    • 정말로 필요한 것인가 생각해야 됨 (로직적 문제)
  5. UNION
    • 원인) 중복제거
    • UNION ALL로 한다면 안함
  6. RANKING WINDOWS FUNCTION
    • 원인) 집게를 하기 위해
  7. MIN MAX
    • 원인) 집게를 하기 위해

INDEX를 잘 활용하면, Sorting을 굳이 하지 않아도 됨

🪐결론

  1. SORT MERGER JOIN
  2. ORDER BY
  3. GROUP BY
  4. DISTINCT
  5. UNION
  6. RANKING WINDOWS FUNCTION
  7. MIN MAX

태그:

카테고리:

업데이트: