日期:2014-05-19  浏览次数:20550 次

请教:关于效率的简单问题
查询语句1:

select   aa,max(bb)

from

(
      select   aa,bb   from   XX
                where   cc=1

      union   all

      select   aa,bb   from   YY
                where   cc=1

)

group   by   aa   order   max(bb)


查询语句2:

select   aa,max(bb)

from

(
      select   aa,bb,cc   from   XX
 
      union   all

      select   aa,bb,cc   from   YY

)
              where   cc=1

group   by     aa   order   max(bb)

请问哪一个执行会更快更有效率呢?

------解决方案--------------------
如果cc列上建了索引,应该是前一个查询更快,因为第二个查询的外部查询无法引用XX/YY表cc列的索引。
------解决方案--------------------
用方法一
------解决方案--------------------
接点分
------解决方案--------------------
标准答案已经出来了....子陌老大的