我有一个由两个表中的 UNION ALL 形成的查询。必须对结果进行排序和分页(如 Web 应用程序的典型列表)。
原始查询(简化)是:
SELECT name, id
FROM _test1 -- conditions WHERE
UNION ALL
SELECT name, id
FROM _test2 -- conditions WHERE
ORDER BY name DESC LIMIT 10,20
问题是2张表每张都超过100万行,查询很慢。
如何从 UNION ALL 获得优化的分页列表?
发布数据:
我使用了 Stack Overflow 的搜索,发现了一些类似的问题,但答案不正确或问题不完全相同。两个例子:
在 MySQL 查询中结合 UNION 和 LIMIT 操作
我很惊讶在 Stack Overflow 中没有人能回答这个问题。也许不可能更有效地执行此查询?有什么办法可以解决这个问题?