본문 바로가기
삶을 풍요롭게 하는 어플리케이션/생활 코딩

효과적인 데이터 질의(SQL)

by Write the Story of Your Life 2022. 6. 7.

reddit 게시글 중에 data analyst 필요 기술 중, SQL 스킬에 대한 강조 차원의 도표를 보면서 데이터 분석을 위한 Database 질의 언어인 SQL(Structured Query Language)을 얘기하려고 한다.

가장 기본적인 언어 프레임은 다음과 같다.

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

실제로 데이터 질에서 data set가 줄어드는 순서는 다음과 같다.

FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY

데이터 질의의 핵심은 가져올 데이터를 최소한으로 효과적으로 가져오는 것이다.

효과적인 질의는 굉장히 많지만 그중에서도 데이터 Full Scan을 피하는 것이 중요하다.

Index 열을 WHERE에 하나라도 사용하지 안으면 Full Scan이 발생되므로 주의해야 한다. 

 

SELECT Col1, Col2
FROM Table1
WHERE Col3 = 'abc'
  and Col4 = 'abc%'
GROUP BY Col5
HAVING COUNT(*) > 2
반응형