채택완료

쿼리 속도 질문드립니다.

2020-09-02 (수) 11:13:29 1,881

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

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

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

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

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

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트
2020-09-02 (수) 14:05:00

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

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

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

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

답변에 대한 댓글 2개

2020-09-02 (수) 14:26:36
CREATE INDEX idx_1_2 ON [table] ( wr_1, wr_2 );

or

CREATE INDEX idx_2_4 ON [table] ( wr_2, wr_4 );
감사합니다ㅠㅠ

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

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

답변에 대한 댓글 1개

답변 감사합니다!

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

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

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

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

답변에 대한 댓글 1개

쿼리문은 간단합니다.
"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"

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