0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

mysql存储过程的优点与缺点

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2023-03-31 17:02 次阅读

mysql存储过程已被视为应用程序通过使用编码方法或“过程”访问和操作数据库信息的事实标准。这主要是由于它们为开发人员提供的:将SQL的基于集合的功能与代码开发的迭代和条件处理控制相结合的机会。开发人员对此非常高兴;最后,开发人员可以利用以下优势,而不是编写内联SQL然后尝试从代码中操作数据:

一、熟悉的编码原则

1、迭代循环

2、条件句

3、方法调用(存储过程本身被构建并且类似地被称为方法)

二、一次一地处理

1、现在,SQL 代码的各个部分可以封装到命名方法块中,而不是将内联 SQL 代码分布在整个应用程序中,这些方法都可以在一个位置2、所有复杂的数据处理现在都可以在服务器上执行,允(数据库的“存储过程”文件夹)中轻松识别和访问。

当然,仅仅因为某些东西很流行并不总是意味着它在所有情况下都是最好的工具。Stored Procedures的效率、功效和实用性,就像所有编程语言和平台的实现一样,都取决于客户端的需求和应用程序的后续架构。

下面,小编就给大家分析下mysql存储过程的优点与缺点。

一、使用mysql存储过程的优点

存储过程如此流行并得到如此广泛的使用,因此人们对关系数据库管理系统 (RDBMS)抱有期望,以至于MySQL最终屈服于开发人员的同行压力,并在其非常流行的开源数据库中添加了利用存储过程的能力。

1、可维护性:由于脚本位于同一个位置,因此根据模式更改更新和跟踪依赖关系变得更加容易。

2、测试:可以独立于应用程序进行测试。

3、业务规则隔离:将存储过程放在一个位置意味着不会混淆将业务规则分布在应用程序中可能不同的代码文件上。

4、速度/优化:存储过程缓存在服务器上;无需运行应用程序即可轻松查看流程的执行计划。

5、基于集合的处理的利用:SQL的强大之处在于它能够快速高效地对大量数据执行基于集合的处理;编码等价物通常是迭代循环,通常要慢得多。

6、安全:通过数据库中定义的角色限制对表的直接访问;为底层数据结构提供一个“接口”,以便屏蔽所有实现甚至数据本身;仅保护数据和访问它的代码比在应用程序代码本身中应用该安全性更容易。

二、使用mysql存储过程的缺点

存储过程肯定有一些缺点,使它们无法成为应用程序数据库访问的一站式解决方案。

1、有限的编码功能:存储过程代码不如应用程序代码健壮,特别是在循环方面(更不用说迭代构造,如游标,速度慢且处理器密集)。

2、可移植性:利用用于创建它们的RDBMS的复杂核心功能的复杂存储过程并不总是移植到同一数据库的升级版本。如果从一种数据库类型 (Oracle) 迁移到另一种数据库类型 (MS SQL Server),则尤其如此。

3、测试:直到运行时才生成处理存储过程的任何数据错误。

4、业务规则的位置:由于SP不容易分组/封装在单个文件中,这也意味着业务规则分布在不同的存储过程中。应用程序代码架构有助于确保业务规则封装在单个对象中。普遍认为业务规则/逻辑不应放在数据层中

5、基于集合的处理的利用

维护不够复杂的存储过程会导致过多的开销。因此,普遍的共识是简单的 SELECT 语句不应绑定到存储过程,而应作为内联SQL实现。

6、成本

根据我们的公司结构和开发关注点分离,存储过程开发可能需要专门的数据库开发人员。有些企业根本不允许开发人员访问数据库,而是需要一个单独的DBA。这将自动产生额外费用。一些公司认为(有时是真的,但并非总是如此)DBA比应用程序开发人员更像是SQL专家,因此会编写更好的存储过程。在这种情况下,需要DBA形式的额外开发人员。

以上是mysql存储过程的优点与缺点的介绍。希望能帮助到大家参考!

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4314

    浏览量

    85853
  • SQL
    SQL
    +关注

    关注

    1

    文章

    764

    浏览量

    44134
  • 代码
    +关注

    关注

    30

    文章

    4788

    浏览量

    68625
  • MySQL
    +关注

    关注

    1

    文章

    811

    浏览量

    26580
收藏 人收藏

    评论

    相关推荐

    铁电存储器有哪些优缺点

    铁电存储器(Ferroelectric RAM, FRAM)作为一种新兴的非易失性存储器威廉希尔官方网站 ,凭借其独特的优势在存储市场中占据了一席之地。然而,与任何威廉希尔官方网站 一样,铁电存储器也有其
    的头像 发表于 09-29 15:21 985次阅读

    二极管降压的优点缺点

    二极管降压作为一种常见的电路设计手段,在实际应用中展现出了其独特的优点和不可避免的缺点
    的头像 发表于 08-28 14:41 1096次阅读

    mysql磁盘碎片整理

    背景 数据结转过程中经常进行 delete 操作,产生空白空间,如果进行新的插入操作,MySQL将尝试利用这些留空的区域,但仍然无法将其彻底占用,于是造成了数据的存储位置不连续,以及物理存储
    的头像 发表于 08-27 15:26 272次阅读
    <b class='flag-5'>mysql</b>磁盘碎片整理

    PWM整流器有哪些优点缺点

    PWM(脉宽调制)整流器作为电力电子威廉希尔官方网站 中的一项重要威廉希尔官方网站 ,具有诸多优点,但也存在一些缺点
    的头像 发表于 08-26 14:41 2446次阅读

    各种电源模块封装选项的优点缺点

    电子发烧友网站提供《各种电源模块封装选项的优点缺点.pdf》资料免费下载
    发表于 08-26 14:40 0次下载
    各种电源模块封装选项的<b class='flag-5'>优点</b>和<b class='flag-5'>缺点</b>

    永磁耦合器的缺点优点是什么

    永磁耦合器是一种利用永磁材料产生磁场,通过磁场的相互作用实现机械能传递的装置。它具有许多优点,但也存在一些缺点。以下是对永磁耦合器优缺点的分析: 一、永磁耦合器的优点 高效率:永磁耦合
    的头像 发表于 08-14 10:13 918次阅读

    触发器的存储过程是什么

    (UPDATE)操作时,触发器会自动执行。触发器的主要作用是强制服从复杂的业务规则或要求,以及自动维护数据库的完整性和一致性。以下是对触发器存储过程的详细阐述,包括其定义、特点、工作原理、应用场景及优缺点等方面。
    的头像 发表于 08-12 10:01 396次阅读

    反向传播神经网络优点缺点有哪些

    、自然语言处理等。然而,BP神经网络也存在一些优点缺点。本文将介绍BP神经网络的优点缺点。 一、BP神经网络的优点 自学习能力:BP神经
    的头像 发表于 07-03 11:05 944次阅读

    电力电容器补偿的优点缺点有哪些

    电力电容器补偿是电力系统中常用的无功补偿方法。它通过在系统中安装电容器来提供必需的无功功率,改善功率因数,减少能量损失,并提高系统的稳定性和效率。以下是电力电容器补偿的优点缺点: 电力电容器作为
    的头像 发表于 06-09 16:42 824次阅读

    软包电池的优点缺点

    软包电池,也称为聚合物锂离子电池或铝塑膜电池,是一种常见的电池封装形式,具有一系列优点缺点,适用于不同的应用场景。
    的头像 发表于 05-07 10:32 3508次阅读

    MySQL的整体逻辑架构

    支持多种存储引擎是众所周知的MySQL特性,也是MySQL架构的关键优势之一。如果能够理解MySQL Server与存储引擎之间是怎样通过A
    的头像 发表于 04-30 11:14 455次阅读
    <b class='flag-5'>MySQL</b>的整体逻辑架构

    RISC-V有哪些优点缺点

    RISC-V作为一种开源的指令集架构(ISA),具有一系列显著的优点和潜在的缺点。以下是RISC-V的主要优点缺点概述: 优点: 开源与开
    发表于 04-28 09:03

    集成芯片的优点缺点是什么

    集成芯片是现代电子设备中不可或缺的组成部分,它通过将多个电子元件和功能模块集成在一块微小的基片上,实现了电子设备的小型化、高效化和智能化。集成芯片具有众多优点,但也存在一些缺点
    的头像 发表于 03-18 15:23 1786次阅读

    网络附加存储的优缺点有哪些

    。NAS具有许多优点和一些缺点,下面将详细介绍。 一、优点: 高性能:NAS可以实现快速数据传输,提供高性能存储解决方案。许多NAS设备配备了高速处理器和大容量RAM,以加快文件读写速
    的头像 发表于 01-24 10:06 1635次阅读

    mysql8.0存储过程详解

    存储过程的英文是 Stored Procedure 。它的思想很简单,就是一组经过 预先编译 的 SQL 语句的封装。
    的头像 发表于 01-05 09:53 969次阅读