昨天一个搞.net的同学问了个关于存储过程的问题,本人实在没怎么搞过存储过程,倒是以前维护过一段时间的存储过程,貌似在java引入了ORM之后的开发中很少见存储过程,除非是一些报表项目中可以窥其踪影。在论坛上看到一些关于存储过程的讨论,根据自己的理解总结了一下。 优点 :1。性能提高, 容易修改,即改即生效。 2。程序接口基本不变,不用编译程序就可以更改业务逻辑。 3.对于大数据量的复杂的逻辑,减少网络传输。 4。充分利用了数据库本身的优化性能。
缺点:1.绑定数据库,万一改库死定了。可移植性差 2.无法对存储过程进行类似代码的版本管理。 3.破坏分层机制。 4.业务不能分布,一对一(一个系统一个数据库配置) 非可重用 (听说过哪个存储过程被继承了?每次都 要全拷过来) 5.不能应用面向对象的思路和设计。 6.难于调试。
粗略总结了一下, 优点速度快,类似股市行情,每秒实时刷新大量数据,迫不得已,必须写存储过程。 对于性能要求高的系统,很多时候结构的优雅要让位于运行的效率
|
对存储过程的理解
最新推荐文章于 2021-03-03 10:40:45 发布