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

쿼리 속도 질문드립니다. 채택완료

parkhyun 5년 전 조회 1,592

안녕하세요. 한가지 질문이 있습니다..

 

테이블에 약 2천만개의 db가 있습니다.

해당 테이블 select 쿼리를 돌리면 시간이 오래걸리는데요.

 

속도 개선할 수 있는 방법이 있을까요?

 

테이블 구조는 기본 그누보드 게시판 테이블 입니다.

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

답변 3개

채택된 답변
+20 포인트
5년 전

해당 select 쿼리문의 where 조건에 들어가는 컬럼으로 인덱스를 생성해주면 속도가 개선될 가능성이 높습니다.

 

ex. select * from [TABLE] where [A] = ~ and [B] = ~ 인 경우,

-> create index idx_A_B on [TABLE] ([A], [B])

( ※ https://huskdoll.tistory.com/605">https://huskdoll.tistory.com/605 )

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

답변에 대한 댓글 2개

마르스컴퍼니
5년 전
CREATE INDEX idx_1_2 ON [table] ( wr_1, wr_2 );

or

CREATE INDEX idx_2_4 ON [table] ( wr_2, wr_4 );
p
parkhyun
5년 전
감사합니다ㅠㅠ

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

5년 전

$wr_5 에 index를 추가하시면 됩니다.

그리고 쿼리전에 wr_6, wr_7값을 미리 뽑아두세요.

 

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

답변에 대한 댓글 1개

p
parkhyun
5년 전
답변 감사합니다!

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

5년 전

어떤 SQL문이냐에  따르 다들 것 같습니다.

 

https://www.bridge-global.com/blog/tips-to-improve-mysql-query-performance/

 

참조하시고,  실제로 어떤 문을 어떻게 썼을 때 빠르게 하고 싶은지를 알려 주시면

 

고수분들께서 답변 주기 편할 것 같습니다.

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

답변에 대한 댓글 1개

p
parkhyun
5년 전
쿼리문은 간단합니다.
"select * from table where wr_1 = '{$wr_1}' and wr_4 = '{$wr_4 }' and {$wr_5} between wr_6 and wr_7 order by wr_2 desc"

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

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

로그인