首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

union效率有关问题

2013-08-01 
union效率问题有个SQL视图为select a1,a2 from aunionselect b1,b2 from b unionselect c1,c2 from c unio

union效率问题
有个SQL视图为
select a1,a2 from a
union
select b1,b2 from b 
union
select c1,c2 from c 
union
select d1,d2 from d


记录才两万多都要了11秒,怎么能提高效率速度



 
[解决办法]
1、没有where,速度会受影响
2、如果没必要的话,把union改成union all
[解决办法]
你单独查询四个表需要的多少时间?union 会过滤掉重复的记录
你可以尝试把union改为union all,时间是否会少一些?

[解决办法]
四个表是否都有索引?
[解决办法]
可以考虑换个思路:
每个语句后面跟上where  最后union all连接效率高
[解决办法]
估计唯一有用的办法就是索引视图了,没有where,你那个必然是聚集索引扫描
[解决办法]
1.把union 改成union all
2.在这视图上加索引

[解决办法]
是每个查询都搞成一个索引视图,然后之间union

热点排行