database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31442 게시물 읽기
No. 31442
MYSQL 쿼리튜닝
작성자
사랑이
작성일
2023-12-17 20:30ⓒ
2023-12-18 11:35ⓜ
조회수
2,009

안녕하세요. 

아래 DB전문가님들 서버개발을 아웃소싱했는데요.

아래 쿼리가 기본적으로 잘 짜여진 것인지 궁금합니다.!!


 

이 글에 대한 댓글이 총 2건 있습니다.

1. Select 항목이 중복되네요? 한번만 써야 할 듯 하구요.

 , u.id AS userId

 , u.id AS UserId

2. 불필요한 인라인뷰는 제거하는게 좋습니다.

 - 변경전 : JOIN (SELECT * FROM PostMember WHERE 1 = 1) AS pm

 - 변경후 : JOIN PostMember pm

3. (카운트 서브쿼리) = 1 조건은

 - EXISTS 로 바꾸는게 좋은데

 - 이미 해당 테이블과 조인하고 있으므로 불필요한 조건입니다.

4. 조건의 위치는

 - 조인조건이 아닌 상수조건은 ON 절 보다는 WHERE 절에 적어주는게 좋습니다.

5. 컬럼 명시할 때

 - 컬럼명만 달랑 적으면 어느 테이블의 컬럼인지 알 수 없습니다.

 - 앞에 테이블명(또는 테이블 알리아스). 을 적어 주는게 좋습니다.

 - 알리아스 누락 항목들 : img, format, deletedAt, content

6. 불필료한 괄호 사용은

 - 줄이는게 좋구요.

7. 쿼리 작성시 줄바꿈 해주는게 가독성이 좋습니다.

 - select 리스트는 컴마 단위로 줄바꿈

 - 조건절 리스트는 AND 단위로 줄바꿈

8. 잘못된 그룹바이 구문 <- (이 부분이 가장 중요한 듯 합니다.)

 - 표준에 어긋나는 그룹바이 구문입니다.

 - MySQL 에서는 옵션에 따라 정상 동작하기도 하지만. 추천하지 않습니다.

 - 올바른 구문을 사용해야 합니다.

9. 튜닝을 논하기 전에

 - 올바른 쿼리인지? 부터 살펴보셔야 합니다.

마농(manon94)님이 2023-12-18 09:26에 작성한 댓글입니다.
이 댓글은 2023-12-18 14:30에 마지막으로 수정되었습니다.

질문글은 왜 수정하셨는지.. 그러실거면 여기 왜 올리셨나요?

정상규(pajama)님이 2023-12-19 08:53에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31445mysql과 파이썬 프로그램 연동 후 배포 관련 여쭙습니다 [1]
junhyeok
2024-02-20
567
31444mysql mad,mai파일 [2]
살려줘요
2024-02-15
610
31443고수님분께 여쭙니다. [10]
cheongha
2024-02-13
624
31442MYSQL 쿼리튜닝 [2]
사랑이
2023-12-17
2009
31440표시 순서 변경하기 [3]
mossmin
2023-06-30
6378
31439mysql procedure 진행 시 에러
inseong
2023-04-18
13474
31415복합키 조인 및 조회 [2]
mossmin
2023-03-09
14208
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다