您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Oracle PipeLined方式究竟能提升多少性能

2025/4/9 16:54:27发布34次查看
最近在使用到了oracle的表函数,尤其是实现嵌套表的数据按表结构进行返回,发现pipelined方式,确实能让性能有非常高的提升。
最近在使用到了oracle的表函数,尤其是实现嵌套表的数据按表结构进行返回,发现pipelined方式,确实能让性能有非常高的提升。
oracle pipelined:
看了相关的文章,大致是将数据进行按流水线方式进行处理,执行无等待,而不是那种传统的将本次数据全处理完了,,再送往下一个处理环节。
最近找了个时间,特意进行了一下测试。
结论:
1 表函数以嵌套表返回时,是非常耗时与耗内存的;
2 pipelined方式,能让数据无等待,效率非常高,尤其是应用在oracle的表函数返回;
不受sql语句类型的限制,都能有很好的性能提升,尤其是在大数据量的情况下:
1) select * from table(表函数())
2)还是select count(*) from table(表函数())  (本次过程不体现,但是实际应用使用中确实性能较非pipelined方式有非常高的性能提升)
3) 还是select * from table(表函数()) where conditions(本次过程不体现,但是应用中确实性能较非pipelined方式有非常高的性能提升)
下面来看具体步骤
1 创建两个辅助类型
create or replace type performance_e_v is object
(
  pid          integer ,
  persionid    varchar2(40),
  datefield    date,
  name        varchar2(40),
  account      varchar2(20),
  balance      number,
  securitycode varchar2(60)
);
/
create or replace type performance_table as table of performance_e_v;
/
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product