精华内容
下载资源
问答
  • 存储过程的优点主要包括以下几点:第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,...

    存储过程的优点主要包括以下几点:

    第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,性能提高了何止一点两点。

    第二点,重用性强。存储过程使用名字即可使用,也就是传说中的“一次编写,随便调用”。这样不仅提高了重用性,还减少了出错的几率,也会加快开发速度,可以说是一件非常好的事情。

    第三点,减少网络流量。这一点对于小数据量的时候一般体现不出来,那么当数据量较大的时候,我们会发现由于使用存储过程比使用SQL语句会使用更少的字节数,因此它会降低传输的数据量。

    第四点,安全性提高。由于存储过程也可以使用权限控制,而且参数化的存储过程可以防止SQL注入攻击,也在一定程度上保证了安全性。

    第五点,灵活性增强。由于存储过程可以使用流程控制语句来编写,导致它有着很强的灵活性,可以根据实际情况来执行不同的SQL语句,而不是只能单纯的简单的执行命令。而且该存储过程还可以修改其逻辑而其他部分不用改变,也就是说,我们的表的结构改变了,我们只需要修改相应的存储过程即可,我们的Java或者PHP等程序不需要改变。

    第六点,当业务复杂的时候,存储过程会减少工作量,为什么呢,原因很简单,如果我们不适用存储过程,那么就会导致我们先从数据库中取出来数据,然后经过计算,再放入到数据库中,这个开销还是蛮大的,这中间的开销包括我们的Java或者PHP程序连接数据库获取结果集等若干操作,如果我们使用了存储过程,那么就没有那么多事了,直接在mysql内就搞定了。

    缺点:

    第一点,工作量加大。这里并不是说我们把程序该做的事让mysql去做不好,而是mysql本身并没有很像样的IDE来开发我们的存储过程,我们很多时候还是需要手写,这样就会比较麻烦,而且存储过程的调试也是一个问题,没有很像样的调试工具。

    第二点,优势不明显。运行速度上,对于大多数的语句缓存来说,编译sql的时间开销并不是很大,但是执行存储过程还需要检查权限等一些其他开销,所以,对于很简单的sql,存储过程并没有很大优势。

    第三点,赘余功能。对web程序来说,我们连接数据库的用户往往就是同一个,不需要太多的安全机制,所以,对于安全上的检测看上去很好,实际上优点多余。

    第四点,小型程序完全无用。对于小型web应用来说,它的使用价值就更小了,反而会拖累开发进度。

    第五点,对于运维上。当我们的程序要更换数据库的时候,它的移植性相对于不适用存储过程要复杂一些,对于维护上,由于是在db端,因此比server端的程序更好维护一些。

    展开全文
  • 存储过程的应用程序具有下列优点

    千次阅读 2007-03-16 23:43:00
    存储过程包含带有 SQL 语句的过程构造。存储过程存储在 DB2? 数据库中,并在 DB2 服务器上运行...使用存储过程的应用程序具有下列优点:减少了网络流量 使用存储过程会减少网络流量和提高总体应用程序性能,原因是存储

    存储过程包含带有 SQL 语句的过程构造。存储过程存储在 DB2? 数据库中,并在 DB2 服务器上运行。应用程序可以按名称调用存储过程,并运行包括在存储过程中的 SQL 语句。应用程序可以在客户机上,而存储过程在服务器上执行它的逻辑。

    存储过程和用户定义的函数有时统称为例程。

    使用存储过程的应用程序具有下列优点:

    减少了网络流量
    使用存储过程会减少网络流量和提高总体应用程序性能,原因是存储过程可在数据库服务器上执行即时处理而不通过网络传递不必要的数据。存储过程只传递客户机应用程序需要的记录。
    通常,应用程序以一次一个的形式发出的 SQL 语句在网络中要传递两次。存储过程可以将 SQL 语句集中在一起,以便每组 SQL 语句在网络中只传递一次。集中在存储过程中的 SQL 语句越多,网络流量减少的程度也就越大,而且保持数据库锁定的时间也就越短。减少网络流量和数据库锁定的时长将提高总体网络性能并减少锁争用问题。

    处理大量 SQL
    生成的数据但仅将数据的子集显示给用户的应用程序会导致网络流量过大,原因是在最终处理前会将所有数据返回至客户机。存储过程可以在服务器上进行处理,并且仅将必要的数据发送给客户机,这将减少网络使用。

    增强了硬件和软件能力
    使用存储过程的应用程序可以访问服务器系统上增加的内存和磁盘空间。这些应用程序也可以访问仅安装在数据库服务器上的软件。可以在具有足够的内存和处理器的系统上分布可执行业务逻辑。

    增强的安全性
    通过将数据库特权与使用静态 SQL 的存储过程包括在一起,数据库管理员(DBA)可以增强安全性。创建存储过程的人员具有存储过程需要的数据库特权。调用存储过程的客户机应用程序的用户不需要这类特权,这会降低需要这些特权的用户数。

    减少了开发成本并增强了可靠性
    在数据库应用程序环境中,重复许多任务。重复的任务可能包括返回一组固定数据或执行同一组至数据库的多个请求。存储过程成为执行这类重复出现的任务的高效方式。

    对常用例程集中了安全性、管理和维护
    在服务器上的某一位置管理共享逻辑可以简化安全性、管理和维护。客户机应用程序可以调用运行 SQL 查询(有很少或没有其它处理)的存储过程。对存储过程的更改将立即可用于所有使用它的客户机应用程序 

    展开全文
  • 视图的优点: 提高数据安全性,可以不让用户看到表中的某个字段。比如password,你只给他们执行...存储过程的优点包括视图的所有优点,还可以让不懂数据库的人也能也用数据库,还有就是方便程序计设,...
    视图的优点:

    提高数据安全性,可以不让用户看到表中的某个字段。比如password,你只给他们执行视图的权限,不给执行表的权限,他们就无法查看全部数据。

    还有可以建立一个视图,内容包括两个表,更新的时候只需要指定ID,而不用管它来自哪个表,对应表中的数据就会自动更新。

    存储过程的优点:

    包括视图的所有优点,还可以让不懂数据库的人也能也用数据库,还有就是方便程序计设,比如我负责前台程序设计,你负责写存程,我不用管你是怎么写,最后只接调用,我们分工明确,我也不需要懂你所懂的,这为用不懂语言和不同专业的人在一起合作提供了良好的平台。提高开发效率。

    触发器的优点:


    保证数据的正确性和逻辑,比如订单表中新增一条数据,对应在库存表中会减少一个产品一样。
    还有保证数据的安全性,比如当用户删除表A,我们可以判断他是否为Admin组的用户,如果不是,就会给出错误的提示,并将事务回滚。



    减少编写代码,改善代码的易读性,处理并发问题。
    方便数据库的维护或查看。
    展开全文
  • 存储过程的优点主要包括以下几点:第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,...

    我们常用的SQL语句在执行的时候需要首先进行编译,然后执行,而存储过程则是一组为了完成特定功能的SQL语句集,它直接编译好了存储在数据库中,用户通过指定存储过程的名字即可调用该存储过程。

    存储过程的优点主要包括以下几点:

    第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,性能提高了何止一点两点。

    第二点,重用性强。存储过程使用名字即可使用,也就是传说中的“一次编写,随便调用”。这样不仅提高了重用性,还减少了出错的几率,也会加快开发速度,可以说是一件非常好的事情。

    第三点,减少网络流量。这一点对于小数据量的时候一般体现不出来,那么当数据量较大的时候,我们会发现由于使用存储过程比使用SQL语句会使用更少的字节数,因此它会降低传输的数据量。

    第四点,安全性提高。由于存储过程也可以使用权限控制,而且参数化的存储过程可以防止SQL注入攻击,也在一定程度上保证了安全性。

    第五点,灵活性增强。由于存储过程可以使用流程控制语句来编写,导致它有着很强的灵活性,可以根据实际情况来执行不同的SQL语句,而不是只能单纯的简单的执行命令。而且该存储过程还可以修改其逻辑而其他部分不用改变,也就是说,我们的表的结构改变了,我们只需要修改相应的存储过程即可,我们的Java或者PHP等程序不需要改变。

    第六点,当业务复杂的时候,存储过程会减少工作量,为什么呢,原因很简单,如果我们不适用存储过程,那么就会导致我们先从数据库中取出来数据,然后经过计算,再放入到数据库中,这个开销还是蛮大的,这中间的开销包括我们的Java或者PHP程序连接数据库获取结果集等若干操作,如果我们使用了存储过程,那么就没有那么多事了,直接在mysql内就搞定了。

    好,上面说完了存储过程的优点,当然存储过程也肯定有它的缺点,下面是它的几个缺点:

    第一点,工作量加大。这里并不是说我们把程序该做的事让mysql去做不好,而是mysql本身并没有很像样的IDE来开发我们的存储过程,我们很多时候还是需要手写,这样就会比较麻烦,而且存储过程的调试也是一个问题,没有很像样的调试工具。

    第二点,优势不明显。运行速度上,对于大多数的语句缓存来说,编译sql的时间开销并不是很大,但是执行存储过程还需要检查权限等一些其他开销,所以,对于很简单的sql,存储过程并没有很大优势。

    第三点,赘余功能。对web程序来说,我们连接数据库的用户往往就是同一个,不需要太多的安全机制,所以,对于安全上的检测看上去很好,实际上优点多余。

    第四点,小型程序完全无用。对于小型web应用来说,它的使用价值就更小了,反而会拖累开发进度。

    第五点,对于运维上。当我们的程序要更换数据库的时候,它的移植性相对于不适用存储过程要复杂一些,对于维护上,由于是在db端,因此比server端的程序更好维护一些。

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    TAG标签:优劣过程

    展开全文
  • 在 SQL Server 中使用存储过程而不使用存储在客户端计算机本地的 Transact-SQL 程序的优点包括: (1)存储过程已在服务器注册。 (2)存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书...
  • 存储过程的优点主要包括以下几点:第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,...
  • 存储过程

    2018-03-05 15:40:27
    MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?这些是本章节要探讨的问题: 什么是... 创建存储过程: 存储过程的创建非常简单,其创...
  • 关于 MySQL 的存储过程,我所了解的一些有规模的公司,对于使用存储过程... 存储过程的优点主要包括以下几点:   1. 性能提高。相对于不使用存储过程来说的,因为存储过程在创建的时候,数据库已经对其进行了一
  • 存储过程详解

    2019-01-22 14:25:30
    MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?这些是本章节要探讨的问题: ... 存储过程的创建非常简单,其创建结构为: CRE...
  • 辛星解读mysql中的存储过程的优劣

    千次阅读 2014-08-26 14:58:31
     存储过程的优点主要包括以下几点:  第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都
  • mysql存储过程

    2017-08-03 19:25:30
    1.存储过程  我的理解是存储过程是一个操作数据库的函数 , ...存储过程的优点 :  执行速度快 因为避免了jdbc的sql的发送,检测语句是否可执行等操作  允许模块化程序设计  提高系统安全性 避免用户对数据库
  • 存储过程的优点主要包括以下几点:第一点,性能提高。这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,...
  • MySQL 存储过程

    2020-09-14 20:03:14
    优点: 1、提高了代码重用性 2、简化操作 3、减少编译次数 4、减少与数据库服务器连接次数 作用: 一般情况,用于数据库增...1、in 该参数是可以作为输入,说明当存储过程进行调用时候需要传入 2、out 该参
  • Mysql存储过程

    2014-08-16 15:16:06
    这些语句集包括SQL语句和一些控制语句,当希望在不同应用程序中或平台上执行相同函数,或者封装特定功能时,存储过程是非常有用。数据库中的存储过程可以看做是面向对象方法一种模拟。存储过程通常有以下...
  • SQL之存储过程

    2019-06-21 23:22:00
    一、 存储过程的概念 存储过程是预编译SQL语句的集合,这些语句存储在一个名称下并作为一个单元来处理,一个存储过程可以包括查询,插入,删除,更新等操作。 实函数和存储过程是相似的,至少在引用的时候跟函数...
  • 数据库存储过程详解

    2017-08-18 10:50:58
    MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?这些是本章节要探讨的问题:  什么是存储过程:  简单的说存储过程是为了... 存储过程的
  • 存储过程(详解)

    2020-07-21 18:50:30
    客户端应用程序可以通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。 存储过程是一组为了完成特定功能的SQL语句集。可以接受参数、输出参数、返回单个或多个结果集以及返回值。 优点 ...
  • 8、MySLQ存储过程

    2017-11-12 15:46:00
    简述 存储过程是SQL语句和控制流语句的语句串(语句集合)。它不仅可以带有输入 参数还可以带有输出参数,存储过程是能够通过介绍参数向调用者...较SQL语句存储过程的优点: 1、存储过程允许组件是编程,存储过程...
  • * 重点 存储过程从创建到初次执行的整个过程中各个步骤的处理图示 学习目标 1什么是存储过程 2了解存储过程的优点和分类 3掌握创建执行存储过程的方法 4掌握存储过程的修改和删除 存储过程 存储过程存放在服务器端...
  • 存储过程--procedure

    2018-07-30 10:05:22
    概念:什么是存储过程:类似于函数(方法),简单存储过程是为了完成某个数据库中特定功能而编写语句集合,该语句集包括SQL语句(对数据增删改查)、条件语句和循环语句等。  2. 查看现有的存储过程 1 ...
  • 第6章 存储过程

    2018-09-24 13:54:42
     (1)定义:存储过程是为了完成特定功能的SQL语句集合,类似于C#中的函数或Java中的方法包括数据操纵语句、变量、逻辑控制语句等,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数来执行它。...
  • 存储过程的优点 存储过程具有以下优点: 可以包装数据逻辑和业务规则,以便用户可以仅通过开发人员和数据库管理员打算使用的方式访问数据和对象。 验证所有用户输入的参数化存储过程可用于阻止 SQL 注入攻击。 如果...
  • * 第9章 存储过程与触发器存储过程 第26讲 SQL Server 2012 * * * * * * * 第9章 存储过程与触发器 存储过程实训 第26讲 复习: 存储过程的含义优点类型 创建存储过程需要确定存储过程的组成部分 所有的输入参数传给...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 395
精华内容 158
关键字:

存储过程的优点包括