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

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

QA

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

본문

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

 

카페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
를 활용하시는게 상책입니다.

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

회원로그인

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