쿼리 인덱스 설정 좀 봐주세요

쿼리 인덱스 설정 좀 봐주세요

QA

쿼리 인덱스 설정 좀 봐주세요

본문

g5_write_free 테이블에 59만개의 레코드가 있습니다.

확인해보니 bbs/view_comment.php에서

$sql = " select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_comment, wr_comment_reply";

이 쿼리문에서 슬로우쿼리가 지속적으로 발생합니다.

 

현재 이 테이블의 인덱스 설정은 아래와 같습니다.

2083642585_1708482320.2754.jpg

 

ORDER BY 인덱스컬럼1, 컬럼2 : 복수의 키에 대해서 ORDER BY를 사용한 경우

WHERE 컬럼1='값' ORDER BY 인덱스 컬럼 : 연속하지 않은 컬럼에 대해 ORDER BY를 실행한 경우

이 경우 인덱스를 타지 않는다고 해서 다중인덱스를 생성해야한다는데

위 쿼리에서 wr_parent와 wr_in_comment는 이미 다중인덱스중이고,

wr_commnet와 wr_comment_reply칼럼에 인덱스를 걸긴했는데 order by절에 복수의 키라 인덱스를

타지 않는것 같습니다.

이 경우 wr_comment와 wr_comment_reply에 다중인덱스를 설정하면 인덱스를 타서 속도가 빨라질까요?

그리고 이 칼럼에 다중인덱스를 걸면 위의 view_comment.php의 쿼리문은 어떻게 수정해야할까요?

이 질문에 댓글 쓰기 :

답변 3

explain select * from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_comment, wr_comment_reply; 

해서 결과값을 올리세요.

chatGPT에 해당 결과값을 올려도 도움받을 수 있습니다. 

2초는 여전히 '슬로우 쿼리'입니다.

0.5초 이내를 추천합니다.

 

ALTER TABLE g5_write_free ADD INDEX idx_pccr (wr_parent, wr_is_comment, wr_comment, wr_comment_reply);

 

※ https://g.co/gemini/share/877bac350be4

햐 챗GPT 무섭네요.

똑같은 질문을 chatGPT한테 했더니 1초만에 답을 알려줘서 알려준대로 설정했더니

5초 걸리던 쿼리가 2초내로 줄었습니다.

이제 기술자들 뭐 먹고 살지ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 1,543
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT