日期:2014-05-16  浏览次数:20718 次

union all 如何优化
目前三个表使用union all 来获取一个数据集,单表的sql执行只需0.02s左右,union all之后大概要7s左右,数据大概在10W条左右;
该怎么提速?

------解决方案--------------------
我在本地模拟不出你说的情况

数据10w是指每个表的记录吧,unoin结果大概多少记录呢?
------解决方案--------------------
无法提速,估计你用了ORDER BY来排序。 这么多记录需要重新排序会花比较长时间。 建议你直接贴出你的语句。
------解决方案--------------------
EXPLAIN 你的SQL语句
------解决方案--------------------
你的SQL语句是什么?
索引情况?
------解决方案--------------------
详细说明你的要求是什么?分页?
你的SQL语句是什么,有什么要求,看看能否优化一下SQL语句
------解决方案--------------------
你只要排序,则UNION ALL后的效率会很差。因为MYSQL需要自己进行排序无法利用索引。