は私が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;
、それは2度目、その上に、313sを取りました48秒を要し、3回目には101秒を要した。 Explain selectから、クエリプランのタイプはrangeです。 key:indexとextra:テーブルPのどこに次のようにタイプします:eq_refとkey:テーブルEのプライマリこのクエリはクエリキャッシュを使用しません。私の質問は次のとおりです:"なぜクエリ時間が劇的に異なるのですか?"
乾杯、 ベン
質問はかなり有効です。しかし、クエリ時間がなぜそれほど大きいのではないかと心配するべきではありませんか? (そしてそれらを小さくする方法)? –
はい、私はそれについても心配していて、誤ったクエリ時間がパフォーマンスにも関連しているのだろうかと思っていました。 –
プロダクションシステムですか?これらのテストと同じ時間に他のクエリが実行されていましたか? –