Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- N-Queen
- sqld요약
- 폴링vs이벤트
- DP
- c++
- Backtracking
- beautifulsoup
- 파이썬
- 주석
- 알고리즘
- Python
- 서버아키텍처
- MFC
- 서버최적화
- 게임서버개발
- 자청
- 오픽
- git
- sqld
- 오픽 초보
- SQLD이론
- 클린 코드
- 역행자
- BFS
- 백준
- 클린코드
- SW개발자를 위한 성능좋은 SQL
- SQLD 이론
- clean code
- Javascript
Archives
- Today
- Total
가취공부하자
[SW개발자를 위한 성능좋은 SQL] 의미오류(Semantic Error) 이해 본문
SQL/(강의) SW개발자를 위한 성능 좋은 SQL
[SW개발자를 위한 성능좋은 SQL] 의미오류(Semantic Error) 이해
keepGGoing 2023. 7. 23. 15:42- 컬럼이 not null인데인데 ISNULL 함수를 사용하는 경우
- CHECK 조건이 있는데 중복으로 다시 확인 하는 경우
- PK가 있는데 DISTINCT 사용하는 경우
- 컬럼 LIKE 'VALUE' ==> 불필요하게 LIKE 사용 '=' 사용해야함
- EXISTS (SELECT DISTINCT ~ ) --> 불필요하게 DISTINCT 함
- ORDER BY에에 PK가 있는 경우 다른 컬럼을 사용할 필요 X
- SELECT .. GROUP BY ShipCountry Having ShipCountry IN ('USA', 'Switzerlan') 는 Having 이 아닌 Where 절에 왔어야 함.
- 중복 할 데이터가 없는데 UNION 사용하는 경우 -> UNION ALL 로 해주는게 좋아
옵티마이저가 수정해주긴하는데
쿼리 작성할 때 명시해주는게 좀 더 좋아 - 불필요한 조인은 피해라
- Where 컬럼명A NOT IN (Select 컬럼B From 테이블) 에서 컬럼B가 NULL인 경우 :
해당 조건은 확인 불가 쿼리가 됨! -> 아예 결과 안나와
** 의미오류는 잠재적인 성능 이슈를 갖고 있다.
-> 옵티마이저가 자동으로 성능 문제 해결해주기는 하지만, 오류 없도록 쿼리 작성하는게 좋습니다.
'SQL > (강의) SW개발자를 위한 성능 좋은 SQL' 카테고리의 다른 글
[SW개발자를 위한 성능좋은 SQL] SARG vs Non-SARG 란? (0) | 2023.07.23 |
---|---|
[SW개발자를 위한 성능좋은 SQL] 조인 조건 vs 검색 조건 (0) | 2023.07.23 |
[SW개발자를 위한 성능 좋은 SQL]Cursor 사용 권장 (0) | 2023.07.23 |