使用存储过程封装应用逻辑的优缺点

存储过程|封装

Sql Server 2005 可以用.net语言写存储过程,这样在中小应用中,用存储过程封装应用逻辑变成一个不错的选择。

使用存储过程封装应用逻辑的优点如下:

1、DBA+Developer分工明确。之间代码模块化。减少数据库操作员和程序员的错误。
2、数据库安全性;可以设置连接字符串中账号只可访问存储过程,不可操作表。这样数据完整性也有保证。
3、存储过程是编译过的,执行快。
4、事务的级别,存储过程级别的事务,ADO.net级别的事务比较。一致性。
5、减少网络通信量。一个需要数行 Transact-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数行代码。

使用存储过程封装应用逻辑的缺点如下:
1、编程语言SQL功能较差(不包括 SQL 2005)
2、与编程环境集成不够(不包括 SQL 2005)
3、移植性差(不同数据库)
4、数据库服务器压力大

象目前版本的CSDN论坛,它的应用逻辑都是封装在存储过程中的。目前一个比较苦恼的感受就是数据库服务器压力太大。而购买更高性能的数据库服务器成本太大。为此,下一代的技术社区架构设计中,专门独立出了应用逻辑层。在存储过程这里,也会做一些调整。不再完全用存储过程封装应用逻辑。

时间: 2024-09-17 04:14:39

使用存储过程封装应用逻辑的优缺点的相关文章

将存储过程封装为EJB组件的方法

集成 Web 应用服务器和数据库管理 (DBMS) 技术是很多新型商业应用的常见需求.在本文中,我们将讨论该集成的一个方面:如何在会话 Enterprise JavaBeans (EJB) 组件中设计与开发封装或调用现有 DBMS 存储过程的方法.您应该熟悉 EJB 技术.结构化查询语言 (SQL) 和 Java 数据库连接 (JDBC) 的基本知识,以便充分理解本文. 如果您正致力于需要访问或修改在 DMBS 中数据的 Web 应用程序开发,那么可能已经在向基于 EJB 的设计转移.您可能会发

减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同

  本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php.java等就是调用存储过程".   业务逻辑,通俗说就是:比如要取数据的操作,取出会员编号为x的数据,原来我们一般是封装成函数,或者直接编写sql语句查询.现在是交给数据库的存储过程去完成. +------------------------------------------------------------            

存储过程优缺点分析

存储过程的优缺点:  存储过程优点:  1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置.  2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录.)缓存改善性能.  但sql server新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们是否在存储过程

存储过程优缺点分析_MsSql

存储过程的优缺点: 存储过程优点: 1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置. 2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划-- 实际上是 Microsoft SQL Server为在存储过程中获取由 T-SQL 指定的结果而必须采取的步骤的记录.)缓存改善性能. 但sql server新版本,执行计划已针对所有 T-SQL 批处理进行了缓存,而不管它们是否在存储过程中,所以

存储过程传言

    这篇随笔由于出差拖了很久,一时也没整理好该写些什么.在google搜了下"存储过程 优劣"关键字,资料并不多,出现了一篇关于来至51cto的关于存储过程的优缺点的文章,具体这里也不指出了.看见文章中对存储过程的几个辩解,个人不敢苟同,个人已经很仔细的看了文章的时间是2011年,如果在更前写年成的话,个人觉得完全能够理解.所以有了这篇,存储过程的一些传言.     1:存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL 语句每执行一次就编译一次,所以使

存储过程入门与提高

将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令. 什么是存储过程呢? 定义:       将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令. 讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊?                  

存储过程与SQL语句的一个故事

存储过程|语句     我的一位朋友说:他从台湾知名技术作家李维先生的一本书中获悉,如果用存储过程封装SQL语句,系统效率将有极大提升.    他做过实验!!! --我相信朋友做过实验,尽管非亲眼所见.不过我估计他的实验有问题,那样的实验不但蒙蔽了他,也蒙蔽了李维先生(如果他的著作中的内容没有被误会),甚至更多的人.    然而我必须拿出证据,方能使人信服.    后来遇到一个具体的问题:客户端经常要向数据库插入记录.在J2EE中,一个 Entity Bean Home 的 create 方法调

sql存储过程学习实例

什么是存储过程呢? 定义: 将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令. 讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊? Microsoft公司为什么还要添加这个技术呢? 那么存储过程与一般的SQL语句有什么区别呢? 存储过程的优点: 1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以

为.net开发者提供的一份关于存储过程的评论

本文适用于: Microsoft SQL Server Microsoft Visual Studio .NET 2003 Transact-SQL (T-SQL) Language 摘要 向那些在工作中主要使用.net编程语言的开发者简要介绍微软SQL Server数据库中的存储过程.揭示使用存储过程的利弊,并简要介绍在Visual Studio.net 2003中提供的一些工具和一些较好的练习,它们可以帮助你轻松的开始. 序言 本文的主要目的是根据应用程序的需要,介绍一些将T-SQL语句封装