oracle中union和union all的查询速度

来源:互联网 发布:抠图软件 mac版 编辑:程序博客网 时间:2024/06/15 02:05

一、首先先准备一张数据相对多的表 

select count(1) from STUDENT_EXAM_RESULT

可以看出数据有六十多万数据,下面我们开始进行测试

1、union执行的查询

select s.student_exam_result_id from STUDENT_EXAM_RESULT s
union 
select s.student_exam_result_id from STUDENT_EXAM_RESULT s

执行如下


可以看出 12 row selected in 1.139 second ,

执行多次之后,平均速度均在一秒之上



2、union执行的查询如下


select  s.student_exam_result_id from STUDENT_EXAM_RESULT s
union all
select s.student_exam_result_id from STUDENT_EXAM_RESULT s

下面执行结果


12 row selected in 0.031 seconds 

执行多次 平均速度均在0.03秒之上


结论:通过以上的执行可以看出union all执行速度 要比 union执行速度快 n倍之上