본문 바로가기

DataBase

[ SQL ] 좋고 나쁨을 판단하는 간단한 기준(쿼리 튜닝, 쿼리 최적화)

반응형

 

쿼리.. 좋고 나쁨을 판단하는 기준이 있을까? 🤔

 

 

실행 계획(explain)을 수행하여 출력된 정보를 살펴보면, 
SQL 튜닝 대상인 실행 계획과 튜닝이 필요하지 않은 실행 계획을 명확히 선을 그어 구분하기란 어렵다.

 

하지만 나름의 기준을 수립하고 각자의 상황에 맞게 검토 대상을 추출할 수 있다.
SQL 튜닝 대상을 검토할 때 다음과 같은 기준을 참조할 수는 있다.

 

 

 

위에 보여지는 것들 외에 더 많은 항목들이 있지만,
다 알기는 어려우니 좋은 것과 나쁜 것만 구분한다면
더 쉽고 간단하게 쿼리 튜닝이 가능할 것이다.

 

실제 간단 쿼리에 explain 을 적용해보면 아래와 같이 나온다.

쿼리 튜닝 시, 여기에서 표시되 3가지 항목을 주의깊게 보면 되는 것이다.

 

 

그럼.. 튜닝의 방향성은?

 

반응형

 

튜닝의 방향성 또한 따로 정해져 있지는 않다. 
하지만 다양한 항목을 분석한 뒤 SQL 문의 튜닝 방향을 잡을 수 있다.

 

 

이러한 절차는 눈으로만 봐서는 감이 안 올 수 있다.

실제로 쿼리 최적화를 진행할 때, 위의 절차대로 해보려는 노력이 필요하다.

 

 

🔥 예시를 통한 쿼리 최적화 살펴보기🔥

✅ 형변환으로 인덱스를 활용하지 못하는 나쁜 SQL

✅ 중복을 제거하는 나쁜 SQL
✅ 다수 쿼리를 UNION 연산자로 합치는 나쁜 SQL
✅ 인덱스 고려 없이 열을 사용하는 나쁜 SQL

반응형