【发布时间】:2020-07-18 00:54:10
【问题描述】:
我有一个 SQL 查询如下:
SELECT p.Id1,p.Id2,p.Id3
FROM dataset1 p
WHERE p.Id2 IN (
SELECT r.Id4
FROM dataset1 r
WHERE r.Id5=125 AND r.Id6>=100000000000000 AND r.Id6<1000000000000000
)
ORDER BY p.Id1 DESC, p.Id2 DESC
但是,Id6 在这个范围内似乎有大量数据,因此计算需要相当长的时间。但我只有一小时来计算查询。因此,我想知道是否有人可以帮助我提高此查询的性能。
谢谢。
【问题讨论】:
-
请edit 在您的帖子中包含查询的执行计划 (
EXPLAIN),以及有关表架构和索引的信息。当我们没有可用的详细信息时,很难帮助您优化查询。 -
请提供
SHOW CREATE TABLE。如果涉及TEXT列,则某些建议索引无效。
标签: mysql sql subquery query-optimization