Union 和 Union all + distinct 性能比较
2018-01-16 15:56
405 查看
测试数据量查询结果数据量是1百多万
测试环境oracle11g 单实例环境
结论:在大数据量的情况下distinct + union all 性能大于 UNION 的性能
1.distinct + union all 场景
---数据量1074177-- ----用时2.158秒----
SELECT COUNT(*) FROM (
SELECT DISTINCT * FROM (
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_R UNION ALL
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_BAL UNION ALL
SELECT trim(ORI_ACNO) as ACNO,ORI_DAT,ORI_LOGACNO,ORI_SENO,PROVICEID FROM TABLE_BAL ));
2.union场景
---数据量1074177-- ----用时5.369秒----
SELECT COUNT(*) FROM (
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_R UNION
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_BAL UNION
SELECT trim(ORI_ACNO) as ACNO,ORI_DAT,ORI_LOGACNO,ORI_SENO,PROVICEID FROM TABLE_BAL );
测试环境oracle11g 单实例环境
结论:在大数据量的情况下distinct + union all 性能大于 UNION 的性能
1.distinct + union all 场景
---数据量1074177-- ----用时2.158秒----
SELECT COUNT(*) FROM (
SELECT DISTINCT * FROM (
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_R UNION ALL
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_BAL UNION ALL
SELECT trim(ORI_ACNO) as ACNO,ORI_DAT,ORI_LOGACNO,ORI_SENO,PROVICEID FROM TABLE_BAL ));
2.union场景
---数据量1074177-- ----用时5.369秒----
SELECT COUNT(*) FROM (
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_R UNION
SELECT trim(ACNO) as ACNO,DAT,LOGACNO,SENO,PROVICEID FROM TABLE_BAL UNION
SELECT trim(ORI_ACNO) as ACNO,ORI_DAT,ORI_LOGACNO,ORI_SENO,PROVICEID FROM TABLE_BAL );
相关文章推荐
- MySQL中distinct和group by性能比较
- union和union all比较说明
- MySQL中distinct和group by性能比较[转]
- 一个sql提问,引起的研究。关于union all 中,嵌套查询和直接查询的效率比较。
- 对于List的All,Any,Where,FirstOrDefault,Average,Sum,Distinct,Union,AddRange,RemoveRange,InsertRange,GetRange操作
- union 和union all比较
- MySQL中distinct和group by性能比较[转]
- mysql 去重方法distinct 与 group by 性能比较
- MySQL中distinct和group by性能比较
- or改写为union all性能提升n倍
- MySQL中distinct和group by性能比较
- oracle中union和union all区别与性能分析
- MINUS,INTERSECT和UNION ALL比较
- MySQL中distinct和group by性能比较[转]
- distinct和group by的性能比较
- MySQL中distinct与group by之间的性能进行比较
- 并查集类的c++封装,比较union_find algorithm四种实现方法之间的性能差别
- MySQL中distinct和group by性能比较[转]
- MySQL中distinct与group by之间的性能进行比较
- 并查集类的c++封装,比较union_find algorithm四种实现方法之间的性能差别