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

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

1.代码可维护性

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

2.开发效率

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

3.性能难以扩展

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

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

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

相关文章
|
3月前
|
存储 Java 数据库
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(二)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
34 0
|
3月前
|
存储 SQL Java
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数(一)
JAVAEE框架数据库技术之13_oracle 之PLSQL技术及存储过程和函数
35 0
|
8月前
|
存储 SQL 关系型数据库
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)下
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)
145 1
|
8月前
|
存储 SQL 关系型数据库
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)上
【MySQL】探索MySQL存储过程的魔力,初学者的数据库编程秘笈(内含实战SQL脚本)
120 2
|
11月前
|
存储 SQL Perl
PL/SQL编程—分页功能(存储过程)
PL/SQL编程—分页功能(存储过程)
87 0
|
11月前
|
存储 SQL Oracle
PL/SQL编程—存储过程
PL/SQL编程—存储过程
84 0
|
存储 SQL 数据库
【自然框架】数据访问之精雕细琢(一)存储过程的参数
目标:  对存储过程的参数进行封装,达到方便操作、更换数据库不需要改代码的目的。 特点:1、 调用方便2、 没有数据库特征。 正文:  现在参数化SQL语句越来越常用了,这就涉及到如何写存储过程的参数的问题。
785 0
|
存储
Git.Framework 框架随手记--存储过程简化
  在很多的ORM中对存储过程操作都是一个棘手的地方,因为存储过程是一段预编译的代码,其中可以包含很多处理过程。在Git.Framework中也同样存在这样的问题,目前没有能力解决这个问题。但是对于存储过程的一些外围操作目前还是可以支持的。
895 0