如果你想创建一个procedure,你可以使用library(也就PLD文件),数据库级别的存储过程(也就是PLS)或者一个local Form的Procedure(Program Unit).这几个不同的存储过程有着不同的性能表现,取决于你想要做什么。
1.数据库级别的存储过程(PLS)是在DB Server端被调用的。由于是在DB Server端执行的,所以减少了网络交互,但是如果有太多的客户端调用数据库端的存储过程,也会加重了DB Server的负载
2.Local Form的Procedure(Program Unit)和Libraries(PLD)非常相似,他们都存储在客户端,在客户端他们把SQL Statement翻译并传递到Server端。Local Form的Procedure(Program Unit)运行非常快,因为Program Unit实际上是作为Form文件的一部分了,缺点是会使用更多的内存,并且是在加载.FMX的时候会消耗更多的时间。
3.Libraries(PLD)从内存消耗上来说要好于Local Form的Procedure(Program Unit),并且PLD是作为单独的文件,并且单独的编译(.PLL或者.PLX文件)。如果PLD的代码修改了,Form不需要重新编译下。如果PLD包含package global variables,这些变量也可以在Session内跨Form的共享。PLD还有一个好处,它可以为多个Form文件所共用,实现PL/SQL的重用。这点实际上是有点像DLL的
叽叽歪歪
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment