select distinct 汇总编号 from 总概算汇总表 union 
select distinct 汇总编号 from 综合概算汇总表 union
select distinct 汇总编号 from 设备汇总表 union 
select distinct 汇总编号 from 劳材汇总表 union 
select distinct 汇总编号 from 主劳材汇总表 
各个表的数据量不是很大(20条以内)
这句话有问题吗;
为什么服务器执行它等待,直至超时;

解决方案 »

  1.   

    可能是应为union 学要对从新排序 ,把相同的记录去掉,导致磁盘排序的超时,也可能是有人在运行事务时没有提交导致超时
      

  2.   

    select distinct 汇总编号 from 总概算汇总表 union 
    select distinct 汇总编号 from 综合概算汇总表 union
    select distinct 汇总编号 from 设备汇总表 union 
    select distinct 汇总编号 from 劳材汇总表 union 
    select distinct 汇总编号 from 主劳材汇总表 
    改称这样
    select distinct 汇总编号 from (select 汇总编号 from 总概算汇总表 union all select 汇总编号 from 综合概算汇总表 union all select 汇总编号 from 设备汇总表 union all  select 汇总编号 from 劳材汇总表 union all select 汇总编号 from 主劳材汇总表)a 
    好吗