테스트 사이트 - 개발 중인 베타 버전입니다

쿼리 인덱스 설정 좀 봐주세요 채택완료

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";

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

 

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

http://sir.kr/data/editor/2402/2083642585_1708482320.2754.jpg" width="100%" />

 

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개

채택된 답변
+20 포인트

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

우와, 진짜 로딩이 절반으로 줄어드네요, 정말 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

햐 챗GPT 무섭네요.

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

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록