例如传统的操作数据的方法,所有的sql语句是写在程序里面的,首先要操作数据库要得到一个链接,不管是用jdbc方式还是连接池的方式得到这个连接的,这个链接传递给数据库,数据库拿到这个sql语句之后要对这个sql语句进行翻译,数据库拿到这个sql语句之后要对这个sql语句进行翻译,数据库读不懂要重新再编译一次,编译成数据库能识别的数据代码,编译完了之后开始执行,但是编译要花时间的,一次花的时间并不多,但是每次来一次语句进行编译累加起来的时间就不可忽略了,若pl/sql能够减少0.01秒,整个性能就会增加很多,传统的方法在数据库得到结果之后再把这个结果返回去,这里还有网络开销,那为什么用pl/sql编写过程,函数,触发器之后性能回提高呢?程序中的sql语句尽可能的少,它其实就是要把要执行的语句编程一个模块,比如说:在数据库中写了一个过程,如这个过程用来处理分页的,作为一个过程,事先已经被编译好了,而java程序在调的时候,用pl/sql方式,程序直接调这个过程即可,而这个过程已经被数据库编译可能直接执行的代码,少了编译这个步骤,时间就这样节约下来了,所以如果说系统运行起来很慢,可能将sql语句尽量的优化,如果还不行的话,可以考虑把这些sql语句做成模块把它写成一个个存储过程,然后直接调存储过程就行;
总结:
1.提高应用程序的运行性能;
2.模块化的设计思想(分页的过程,订单的过程,转账的过程,)
3.减少网络传输量
4.提高安全性