为什么网上说plsql存储过程一定比c语言、java语言写的存储过程的执行速度快而且执行效率要高呢?

DiligencyMan 2009-02-26 09:03:40
为什么网上说plsql存储过程一定比c语言、java语言写的存储过程的执行速度快而且执行效率要高呢?

我个人感觉不一定啊,因为,那些操作运算中、oracle数据库内存与java虚拟机以及c手动分配的内存比起来,应该不存在一定的谁快谁慢的道理吧!
...全文
386 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
DiligencyMan 2009-02-26
  • 打赏
  • 举报
回复
谢谢,明白了!
Andy__Huang 2009-02-26
  • 打赏
  • 举报
回复
plsql写的存储过程就是oracle系统内总自带的语言,对oracle来说已经编译好了,不需要花时间去编译;
而c,java写的存储过程在运行时不还需要编译为oracle可识别的代码,这无疑是需要花费一定的时间,所以会慢一些;

oraclelogan 2009-02-26
  • 打赏
  • 举报
回复
1,如果单纯的从运算来讲,而不涉及到从数据文件取数据的话,在存储过程里面进行+-*/等运算,比起来c语言来做这些操作的话,应该是c语言快,java次之,存储过程最慢。

2,但是如果是plsql的存储过程跟c语言写的存储过程以及java写的存储过程来比的话,一定是plsql>c>java,因为只要是存储过程一定被提交到SGA里面去解析的吧,plsql是直接操作SGA里面的内存的,而c存储过程以及java存储过程还需要通过oracle的专门对c语言以及java语言的sql解析器解析成标准sql存储过程之后再提交到SGA内存块去解析的;这样算起来,c存储过程以及java存储过程就多了一个步骤,所以就慢,而对于c存储过程以及java存储过程来说,当然是c>java啦。

说的有点乱,不对的地方,大家指点指点啊!

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧