我在這裏和那裏學習,但我找不到優化此查詢的方法。如何優化報表查詢
SELECT ad_request.user_id,
ads.req_id,
ads.id as doneId
FROM ads
INNER JOIN ad_request ON ads.req_id = ad_request.req_id
WHERE
(ads.user_id='3612185701') AND ads.date>DATE_ADD(NOW(),INTERVAL -4 DAY)
ORDER BY ads.id
查詢摘要:
# Attribute pct total min max avg 95% stddev median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count 0 836
# Exec time 17 322s 481us 11s 385ms 2s 956ms 51ms
# Lock time 0 203ms 103us 23ms 242us 332us 787us 185us
# Rows sent 67 209.30k 0 3.56k 256.36 1.46k 478.03 1.96
# Rows examine 1 1021.57k 0 55.08k 1.22k 4.71k 3.05k 202.40
# Rows affecte 0 0 0 0 0 0 0 0
# Query size 0 218.29k 262 268 267.38 258.32 0 258.32
摘要只是從30分鐘的框架,有時這種查詢的幾個實例卡住爲+100秒
「行檢查」和「行發送」有很多種,因此您可以期待「執行時間」的種類繁多。戈登提供了最佳的指標。 –