LIMIT 25 的 MySQL 查询速度较慢?

问题描述 投票:0回答:1

我有一个类似的 SQL 查询

SELECT somefields
FROM T1  
INNER JOIN T2 ON T1.x=T2.x
LEFT JOIN (SELECT somefields FROM T3 WHERE y=123 GROUP BY z)X ON T1.a=X.a
WHERE t1.m=4 AND t1.n>0 AND t1.date1 >CURRENT_TIMESTAMP 
ORDER BY t1.date1 DESC 
LIMIT 25;

查询有时需要大约1.5秒,例如当t1.m=4有很多行时,结果为空。到目前为止,一切都很好。但如果我只是消除 LIMIT 25,同一查询的执行时间约为 0.05 秒。

有人可以向我解释这是为什么吗?我认为 LIMIT 25 至少会和没有 LIMIT 25 的查询一样快。

mysql performance limit
1个回答
0
投票

谢谢您提供的信息。不幸的是 EXPLAIN ANALYZE 不适用于我的数据库版本。所以我猜它可能是 JOIN 中的 SELECT,因为所有联接字段、位置字段和顺序字段都使用键或主键进行索引。

© www.soinside.com 2019 - 2024. All rights reserved.