SQL

SQL

GROUP BY는 필수 컬럼만 포함하라

페이지 정보

profile_image
영삼이
0건 47회 25-03-28 15:24

본문

GROUP BY는 필수 컬럼만 포함하라

불필요한 컬럼을 그룹화하면 성능이 크게 저하된다


❌ 불필요한 컬럼까지 GROUP BY에 포함

SELECT user_id, product_id, COUNT(*) AS order_count
FROM orders
GROUP BY user_id, product_id;
  • user_idproduct_id를 모두 그룹화해서

  • 두 컬럼을 기준으로 모든 데이터를 그룹화

  • 중복된 데이터를 더 많이 처리해야 해서 성능 저하


✅ 필요한 컬럼만 GROUP BY에 포함

SELECT user_id, COUNT(*) AS order_count
FROM orders
GROUP BY user_id;
  • user_id만 기준으로 그룹화

  • product_id는 집계 후에 필요하다면 SELECT에서 선택적으로 사용


추가 팁

  • GROUP BY에 포함되는 컬럼은 집계 함수와 같이 사용되므로,
    불필요한 컬럼을 그룹화하지 않도록 조심해야 한다.

  • 예를 들어, SUM, AVG, MAX 등의 집계 함수를 필요한 컬럼에만 적용해야 한다.


✔️ GROUP BY그룹화할 컬럼을 최소화하는 게 성능을 크게 향상시킨다.
불필요한 컬럼을 포함시키지 않도록 주의하자.

댓글목록

등록된 댓글이 없습니다.