내가 5 백만 행의 테이블에서 다음 쿼리를 실행하는 MySQL 버전 5.5.14을 사용하고 있습니다 : 첫 번째 계기로MySQL은 비정상적 쿼리 시간
SELECT P.ID, P.Type, P.Name, P.cty
, X(P.latlng) as 'lat', Y(P.latlng) as 'lng'
, P.cur, P.ak, P.tn, P.St, P.Tm, P.flA, P.ldA, P.flN
, P.lv, P.bd, P.bt, P.nb
, P.ak * E.usD as 'usP'
FROM PIG P
INNER JOIN EEL E
ON E.cur = P.cur
WHERE act='1'
AND flA >= '1615'
AND ldA >= '0'
AND yr >= (YEAR(NOW()) - 100)
AND lv >= '0'
AND bd >= '3'
AND bt >= '2'
AND nb <= '5'
AND cDate >= NOW()
AND MBRContains(LineString(Point(-65.6583, -87.8906)
, Point(65.6583, 87.8906)
), latlng)
AND Type = 'g'
AND tn = 'l'
AND St + Tm - YEAR(NOW()) >= '30'
HAVING usP BETWEEN 300/2 AND 300 LIMIT 100;
, 그것은 두 번째 기회 그것을, 313s했다 48 세를 맞이했으며 세 번째 경우에는 101 세까지 걸렸다. Explain select에서 쿼리 계획의 유형은 range입니다. key : index와 extra : 테이블 P에서 where 다음에 type : eq_ref 및 key : primary를 테이블 E에서 사용합니다.이 쿼리는 쿼리 캐시를 사용하지 않습니다. 제 질문은 : "왜 쿼리 시간이 그렇게 극적으로 다른가요?"
건배, 벤
질문은 꽤 유효합니다. 그러나 쿼리 시간이 왜 그렇게 큰지에 대해 더 걱정하지 않아야합니까? (그리고 그것들을 작게 만드는 방법)? –
그래, 나는 또한 걱정스럽고 불규칙한 쿼리 시간이 성능과 관련이 있는지 궁금해하고있다. –
프로덕션 시스템입니까? 이 테스트와 같은 시간에 다른 쿼리가 실행 되었습니까? –