선 조치 후 분석

[SQL] SELECT .* VS SELECT 컬럼명 조회문 차이? 본문

Solution/DB

[SQL] SELECT .* VS SELECT 컬럼명 조회문 차이?

JB1104 2021. 11. 8. 22:43
728x90
반응형
SMALL

학원에서 배웠을 때는 조회문을 작성할 때, SELECT 테이블명.* 을 많이 썼던 거 같다.

하지만 모든 칼럼을 조회하는 방법은 '지양'한다고 하더라. 그래서 그 차이점이 궁금해 알아봤다.

 


모든 컬럼을 다 가져오는 SELECT 테이블명.* 의 경우보다는 컬럼을 더 적게 가져오는 SELECT 칼럼명이 당연히 빠르다는 의견들이 많은 것 같다. 

 

여기서 단순히 빠르다, 느리다의 의미를 여러 가지 관점에서 설명해준 글이 있어서 갖고 왔다.

여기서 빠르다 느리다의 차이는 여러가지 관점에서 볼 필요가 있습니다.
  - * 을 사용할 때와 컬럼리스트를 사용할 때의 실행계획이 달라질 수 있습니다.
    실행계획이 달라진다면 스캔 속도도 달라집니다.
    그러나 실행계획이 같다면 스캔 속도도 같습니다.
  - 정렬 및 운반 속도 는 실행계획이 같더라도 컬럼수(data size)에 영향을 받습니다.
  
  즉, 필요한 항목만 기술하는 것이 여러모로 좋습니다.
필요한 항목만 기술하는 경우 최적의 실행계획을 세울 확률이 높아지며
필요한 항목만 기술하는 경우 정렬속도 및 운반속도도 개선됩니다.

출처: https://devsh.tistory.com/entry/SELECT-FROM-과-SELECT-컬럼명시-FROM-은-속도차이가-날까 [날샘 코딩]

 

그리고 이런 내용도 있어서 같이 갖고 왔다.

 

코드를 작성하는 것도 개발자이지만, 그 코드를 봐야하는 것도 개발자이기에 SELECT 문 가독성 혹은 
향후 운영시를 고려하여 * 사용은 지양하는 것이 다음 개발자에 대한 배려라 생각합니다.

출처:https://okky.kr/article/218480

 

다양한 의견들이 많지만 개인적으로도 칼럼명을 나열해서 작성하는 것이 가독성이나 향후 유지보수를 생각한다면 더 좋은 방법이라고 생각이 든다.

728x90
반응형
LIST