总结一些PLSQL开发的编程习惯

太多了,想到的一些记录以下,提醒自己。欢迎补充:

1、多用包(PACKAGE)

引用TomKyte的话就是“什么时候用包?任何时候!”

他的理由是实际业务中很少有一个存储过程或函数能独立完成一个业务场景,必定是一堆有逻辑关联的存储过程、函数、类型等才能完整的实现一个业务。

2、多用变量绑定

这个是共识,好处很多,提升性能(软解析)、防止SQL注入等等。

3、多用锚定变量声明(如%TYPE,%ROWTYPE)

好处:基表修改长度或类型时对程序没有影响。

4、用lob类型替代long类型

Oracle官方推荐,long类型有很多限制,而且lob类型的支持很强

5、模块化编程

好处:提高重用性、精简代码、易于维护、可读性提升

6、用管道(pipeline)函数

好处是提升函数响应速度,支持并行减少处理时间

7、用nocopy传大对象参数

对于体积庞大的数据结构(如集合),用nocopy传参可以显著改善性能

8、用命名法调用取代位置法调用

位置法:EXEC P_TEST(‘A’,’B’);

命名法:EXEC P_TEST(PARA1=>’A’,PARA2=>’B’);

优点是:不容易出错,被调用程序参数增加或变序后不受影响

9、少用goto、exit等短路设计

原因是容易造成逻辑错误

10、函数只在最后放一个return,而不是有多个return

原因同上,减少逻辑错误

10、用deterministic声明频繁使用重复参数的确定性函数

deterministic函数会缓存函数结果,大大改善重复调用的时间。

11、少用触发器

原因是容易导致业务逻辑失控

12、用bulk collect、forall、parallel等方法提升批量操作性能

显著提升大数据量处理的效率

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值