gpt4 book ai didi

MySQL 不稳定的查询时间

转载 作者:行者123 更新时间:2023-11-29 03:11:35 26 4
gpt4 key购买 nike

我正在使用 MySQL 5.5.14 版从一个包含 500 万行的表中运行以下查询:

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;

第一次用了 313 秒,第二次用了 48 秒,第三次用了 101 秒。 key: index and extra: using where on table P followed by type: eq_ref and key: primary on table E. 此查询不使用查询缓存。我的问题是:“为什么查询时间差异如此之大?”

干杯,本

最佳答案

使用SQL_NO_CACHE分析查询时:

SELECT SQL_NO_CACHE P.ID, P.Type, ...

第二次运行时间较少的原因是查询结果已被MySQL缓存。

SQL_NO_CACHE 禁用此查询的缓存。您可以使用 FLUSH QUERY CACHE 清除查询缓存。

关于MySQL 不稳定的查询时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7429336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com