슬로우쿼리 부분에 대해 아시는 고수님들의 도움이 필요합니다.

슬로우쿼리 부분에 대해 아시는 고수님들의 도움이 필요합니다.

QA

슬로우쿼리 부분에 대해 아시는 고수님들의 도움이 필요합니다.

답변 4

본문

슬로우쿼리 부분에 대해 아시는 고수님들의 도움이 필요합니다.

 

카페24호스팅을 사용중인데 슬로우 쿼리에 대한 답변이 이렇게 왔는데요.. ^^

 

슬로우 쿼리 확인해보셨다 하였는데 현재 500초 이상 600초 이상의 쿼리들이 쌓여있습니다

 

# Time: 181129 11:24:36

# User@Host: ninesports[ninesports] @ localhost []

# Query_time: 669.064811  Lock_time: 0.000055 Rows_sent: 0  Rows_examined: 3797

SET timestamp=1543458276;

select A.no,A.goods_name,A.sell_type,A.sell_type2,A.img_list,A.icon_list,A.sell_price,A.sell_price2,A.price_text,A.no_sale1,A.no_sale2,B.goods_no,B.category_no,B.seq from goods_list A left join goo

ds_seq B on A.no = B.goods_no and B.category_no='20300' where A.sell_type!=2 and goods_category like '%_2_3_' AnD sLeep(3) ANd '1%';

 

# Time: 181129 11:33:37

# User@Host: ninesports[ninesports] @ localhost []

# Query_time: 522.180297  Lock_time: 0.000052 Rows_sent: 1  Rows_examined: 2812

SET timestamp=1543458817;

select A.no,A.goods_name,A.sell_type,A.sell_type2,A.img_list,A.icon_list,A.sell_price,A.sell_price2,A.price_text,A.no_sale1,A.no_sale2,B.goods_no,B.category_no,B.seq from goods_list A left join goo

ds_seq B on A.no = B.goods_no and B.category_no='20300' where A.sell_type!=2 and goods_category like '%_2_3_' AnD sLeep(3) ANd '1%';

/opt/mysql/libexec/mysqld, Version: 5.1.73-log (Source distribution). started with:

Tcp port: 0  Unix socket: (null)

Time                 Id Command    Argument

 

해당 부분 확인 부탁드립니다

 

 

이런식으로 왔는데... 어떤 문제를 해결해야 이 부분을 해결할수 있을까요 ??

 

아는 지인이 쇼핑몰운영중인데... 쇼핑몰이 열리지 않고 계속 로딩중으로 나오다가 갑자기 들어가기도 하고 그런다고 합니다. 혹 이문제를 해결할수 있는 고수님들의 고견이 필요합니다. ^^

 

 

이 질문에 댓글 쓰기 :

답변 4

해당 쿼리 실행되는 페이지 찾아서 

and goods_category like '$goods_category';

라면 

$goods_category = get_search_string($goods_category);

후 해당 쿼리 실행되게 하시면 될거 같습니다.

goods_category like '%_2_3_' AnD sLeep(3) ANd '1%';

이붑분은 카테고리 검색에  '%_2_3_' AnD sLeep(3) ANd '1%' 이런식으로 일부러 넣은것 같습니다.

정상적인 검색은 아니고 다른 사용자나 로봇이 의도적으로 사이트 지연시키는 것 같습니다.

카테고리 검색시 검색어 체크하는 부분 입력하셔야 될거 같습니다.

common.lib.php 의 get_search_string 함수 참고하시면 될거 같습니다.

쿼리 중간의

sleep(3) 을 굳이 설정해두신 이유가 있으신가요?

 

구글링을 해보면 

sleep(3) 을 할경우 실제는 3초보더 더 긴 시간이 sleep 된다고 하네요

http://bryan7.tistory.com/103

 

그리고, like 검색에서

 

goods_category like '%_2_3_' 

이부분은 지연요소가 될수있습니다.

 

쿼리를 나눠서 조회하시는것도 방법입니다.


PHP 소스상에서 해당 내용이 있을겁니다만
영역이 불확실하면 찾는데 시간이 걸릴겁니다.

잘모르시는부분을 튜닝/개선 하실때는

FTP접속주소를 아시는경우

제작의뢰 : https://sir.kr/request
를 활용하시는게 상책입니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 12
© SIRSOFT
현재 페이지 제일 처음으로