티스토리 뷰
https://oneny.tistory.com/11 에서 쿼리 조회하는데 *(asterisk)를 사용하면 좋지 않다고 얘기했는데
얼마나 영향이 있는지 직접 테스트해보자.
*(asterisk)를 사용하여 조회한 경우
SELECT *
FROM sales s, products p, users u
WHERE s.barcode = p.barcode AND s.user_id = u.id;
매출(Sales) 테이블에서 barcode를 통해 판매상품(products) 테이블과 JOIN을 하고, 사용자 테이블은 user_id를 통해 JOIN하는 쿼리이다.
쿼리 결과
쿼리 결과로 30,204 레코드를 반환하는데 4.355s가 걸렸다.
barcode와 user_id만 조회한 경우
SELECT s.barcode, u.name
FROM sales s, selling_products se, users u
WHERE s.barcode = se.barcode AND s.user_id = u.id;
위와 같은 쿼리인데 바코드와 사용자 이름만 조회한 경우이다.
쿼리 결과
30,204개의 레코드 반환하는데 100ms와 걸렸고, *(asterisk)를 사용한 경우와 큰 차이를 보였다. *를 사용한 경우 거의 30개 넘는 컬럼이라 컬럼 개수가 좀 많이 차이있긴 하지만 그래도 *를 지양하는 좋다는 것을 눈으로 확인할 수 있었다.
결론은 *(asterisk)는 정말 지양해야겠다....
'DB > DB 문법' 카테고리의 다른 글
쿼리 실행 순서 (1) | 2023.05.18 |
---|---|
조건식(Conditional Expressons) (0) | 2023.05.18 |
데이터베이스 및 테이블 생성 (0) | 2023.05.18 |
JOINS와 집합 연산자 (0) | 2023.05.16 |
서브쿼리(Sub Query) (1) | 2023.05.16 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- mdcfilter
- spring webflux
- transaction
- jvm 메모리 구조
- TDD
- nginx configuration
- 분산 락
- nginx
- sql
- 람다
- 트랜잭션
- NeXTSTEP
- 넥스트스탭
- 네티 스레딩 모델
- redis session
- 구름톤챌린지
- spring session
- 구름톤 챌린지
- postgresql
- annotation
- Kafka
- 비관적 락
- 카프카
- 스프링 네티
- 자바 네티
- Synchronized
- socket
- Java
- pessimistic lock
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함