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

    文章

    4693

    浏览量

    89568
  • SQL
    SQL
    +关注

    关注

    1

    文章

    789

    浏览量

    46363
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73140
  • MySQL
    +关注

    关注

    1

    文章

    897

    浏览量

    29230
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工业数据中台支持接入MySQL数据库吗

    工业数据中台完全支持接入MySQL数据库 ,且通过数据同步、集成与治理等技术手段,能够充分发挥MySQL在数据存储与事务处理方面的优势,同时弥补其在数据分析与共享能力上的不足,具体分析如下: 技术
    的头像 发表于 12-04 11:23 181次阅读
    工业数据中台支持接入<b class='flag-5'>MySQL</b>数据库吗

    十大北京软件开发公司推荐:有哪些优点缺点

    十大北京软件开发公司推荐:有哪些优点缺点
    的头像 发表于 10-04 09:44 1125次阅读
    十大北京软件开发公司推荐:有哪些<b class='flag-5'>优点</b>和<b class='flag-5'>缺点</b>

    五大电磁频谱管理监测系统软件:有哪些优点缺点

    五大电磁频谱管理监测系统软件:有哪些优点缺点
    的头像 发表于 09-28 16:50 563次阅读
    五大电磁频谱管理监测系统软件:有哪些<b class='flag-5'>优点</b>和<b class='flag-5'>缺点</b>

    五大海上安全事件应急处置系统:有哪些优点缺点

    五大海上安全事件应急处置系统:有哪些优点缺点
    的头像 发表于 09-04 17:09 722次阅读
    五大海上安全事件应急处置系统:有哪些<b class='flag-5'>优点</b>和<b class='flag-5'>缺点</b>

    企业级MySQL数据库管理指南

    在当今数字化时代,MySQL作为全球最受欢迎的开源关系型数据库,承载着企业核心业务数据的存储与处理。作为数据库管理员(DBA),掌握MySQL的企业级部署、优化、维护技能至关重要。本文将从实战角度出发,系统阐述
    的头像 发表于 07-09 09:50 504次阅读

    忆联 Docker+MySQL 流控方案:打造安全高效存储底座,释放 AI 极致性能

    探讨基于Docker部署的MySQL数据库在AI应用中的关键作用。通过忆联PCIe5.0企业级SSD(UH812a)实测验证,展示了Namespace技术与QoS优化策略如何实现存储资源的精细化管理
    的头像 发表于 06-26 13:53 334次阅读
    忆联 Docker+<b class='flag-5'>MySQL</b> 流控方案:打造安全高效<b class='flag-5'>存储</b>底座,释放 AI 极致性能

    MySQL数据库是什么

    MySQL数据库是一种 开源的关系型数据库管理系统(RDBMS) ,由瑞典MySQL AB公司开发,后被Oracle公司收购。它通过结构化查询语言(SQL)进行数据存储、管理和操作,广泛应用于Web
    的头像 发表于 05-23 09:18 914次阅读

    DELTA台达风扇有哪些优点缺点

    台达(DELTA)作为全球知名的电子设备制造商,DELTA台达风扇凭借卓越性能在工业自动化、服务器、变频器、储能系统等多个领域占据重要地位。以下是对DELTA台达风扇的优缺点详细分析:优点高效节能
    发表于 04-14 10:15

    适用于MySQL的dbExpress驱动程序:提供对MySQL的快速访问

    处理查询和存储过程的接口。提供高性能数据库连接,并且更易于部署。 您可以按照与 Embarcadero 提供的驱动程序相同的方式使用我们的驱动程序。 Delphi 和 C++ Builder 的跨平台解决方
    的头像 发表于 01-21 09:52 668次阅读

    使用插件将Excel连接到MySQL/MariaDB

    使用插件将 Excel 连接到 MySQL/MariaDB 适用于 MySQL 的 Devart Excel 插件允许您将 Microsoft Excel 连接到 MySQL 或 MariaDB
    的头像 发表于 01-20 12:38 1129次阅读
    使用插件将Excel连接到<b class='flag-5'>MySQL</b>/MariaDB

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库

    适用于 MySQL 和 MariaDB 的 Python 连接器 Python Connector for MySQL 是一种可靠的连接解决方案,用于从 Python 应用程序访问 MySQL
    的头像 发表于 01-17 12:18 844次阅读
    适用于<b class='flag-5'>MySQL</b>和MariaDB的Python连接器:可靠的<b class='flag-5'>MySQL</b>数据连接器和数据库

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介绍
    的头像 发表于 01-14 11:25 858次阅读
    <b class='flag-5'>MySQL</b>数据库的安装

    华为云 Flexus X 实例评测使用体验——MySQL 安装全过程 +MySQL 读写速度测试

     前言 我这里我使用的默认公共镜像 Huawei Cloud EulerOS,因为这里有个标识说是可以对数据库添加加速功能,例如 Redis 和 MySQL 数据库都可以加速,我这里先测
    的头像 发表于 12-31 10:38 807次阅读
    华为云 Flexus X 实例评测使用体验——<b class='flag-5'>MySQL</b> 安装全<b class='flag-5'>过程</b> +<b class='flag-5'>MySQL</b> 读写速度测试

    差分信号的优点缺点

    差分信号的优点缺点 在现代电子通信领域,信号的传输质量和可靠性至关重要。差分信号作为一种有效的信号传输方式,已经在各种高速数据通信和精确测量系统中得到了广泛应用。 差分信号的优点 抗干扰能力强 差
    的头像 发表于 12-25 17:23 2031次阅读

    EMMC存储技术的优缺点

    EMMC存储技术的优点 1. 高性能 EMMC存储技术以其高性能而闻名。它使用高速的串行接口,如HS400或HS200,能够提供高达400MB/s的数据传输速度。这使得EMMC非常适合需要快速数据
    的头像 发表于 12-25 09:23 3430次阅读