为什么不使用基于存储过程编程的框架

简介: 1.代码可维护性 SQL是结构化查询语言,其主要目的是用来进行查询,业务逻辑和编程不是它的主要任务,如果硬要用SQL完成复杂的业务逻辑编程,其结果就是整个存储过程复杂无比(相对于例如c#等编程语言),谁见谁头疼。

1.代码可维护性

SQL是结构化查询语言,其主要目的是用来进行查询,业务逻辑和编程不是它的主要任务,如果硬要用SQL完成复杂的业务逻辑编程,其结果就是整个存储过程复杂无比(相对于例如c#等编程语言),谁见谁头疼。

2.开发效率

很明显,没有比较好的SQL的编程框架。

3.性能难以扩展

当把业务逻辑整合到存储过程中,相对于只吞吐数据的数据库服务器负载增加不小,为何不把业务逻辑的性能消耗放到另外一台机器上呢。当这台业务逻辑服务器负载不能承受时,可以很轻松的继续添加逻辑服务器来分担负载(相对于添加数据库集群,而且数据实时同步又是一个很大的性能消耗)。这样可以做到尽量少的数据服务器去满足尽量多的业务负载。

当然存储过程也有其特有的优点:性能

因为连接和断开数据库服务器对于执行简单的增删改操作来说是一个很大的性能消耗,过于频繁的连接和断开会导致性能消耗严重,当需要批量操作数据时,存储过程的优势体现出来了。所以我的理解就是,只有当进行批量数据处理的时候才使用存储过程。否则存储过程可以退休了。

相关文章
|
2月前
|
存储 NoSQL JavaScript
MongoDB存储过程实战:聚合框架、脚本、最佳实践,一文全掌握!
【8月更文挑战第24天】MongoDB是一款备受欢迎的文档型NoSQL数据库,以灵活的数据模型和强大功能著称。尽管其存储过程支持不如传统关系型数据库,本文深入探讨了MongoDB在此方面的最佳实践。包括利用聚合框架处理复杂业务逻辑、封装业务逻辑提高复用性、运用JavaScript脚本实现类似存储过程的功能以及考虑集成其他工具提升数据处理能力。通过示例代码展示如何创建订单处理集合并定义验证规则,虽未直接实现存储过程,但有效地演示了如何借助JavaScript脚本处理业务逻辑,为开发者提供更多实用指导。
51 2
|
5月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
73 0
|
5月前
|
存储 SQL Java
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(一)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
61 0
|
存储 SQL 关系型数据库
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)上
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)
304 2
|
存储 SQL 关系型数据库
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)下
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)
164 1
|
存储 SQL Perl
PL/SQL编程—分页功能(存储过程)
PL/SQL编程—分页功能(存储过程)
114 0
|
存储 SQL Oracle
PL/SQL编程—存储过程
PL/SQL编程—存储过程
110 0