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

    文章

    4883

    浏览量

    90251
  • SQL
    SQL
    +关注

    关注

    1

    文章

    807

    浏览量

    46915
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74359
  • MySQL
    +关注

    关注

    1

    文章

    930

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    恒讯科技解析:如何安装MySQL并创建数据库

    管理系统(RDBMS),使用结构化查询语言(SQL)高效地组织和管理数据。它是全球最受欢迎的开源数据库系统之一,广泛应用于网页开发、电子商务和商业应用。 常见用例  MySQL 是多种应用的可靠选择,包括: 网络应用:管理用户认证和存储网站内容(例如WordPress、D
    的头像 发表于 01-14 14:25 331次阅读

    中心管式光缆有哪些优点缺点

    中心管式光缆是一种常见的光缆结构,其特点在于将光纤集中放置在中心位置的松套管中,周围包裹加强构件和护套。这种结构的光缆具有一系列优点,同时也存在一些缺点,以下是对其优缺点进行的详细归纳: 优点
    的头像 发表于 01-07 10:38 289次阅读

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

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

    不同类型的电能质量在线监测装置数据存储方式有哪些优缺点

    不同类型的电能质量在线监测装置数据存储方式,核心差异体现在 数据控制权、实时性、运维成本、扩展性 上,主要分为 本地存储、云端存储、混合存储 三类。每类方式的优
    的头像 发表于 10-30 10:00 426次阅读

    工业级SLC SD NAND存储的优缺点

    工业级 SLC 存储卡与存储芯片的优缺点: ​ 核心特点与适用场景 ​ ​ 可靠性与寿命 ​:SLC(单层单元)每单元仅存1 bit,典型P/E 擦写寿命约 10 万次,远高于 MLC/TLC,适合
    的头像 发表于 10-17 11:09 939次阅读
    工业级SLC SD NAND<b class='flag-5'>存储</b>的优<b class='flag-5'>缺点</b>

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

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

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

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

    mysql数据恢复—mysql数据库表被truncate的数据恢复案例

    某云ECS网站服务器,linux操作系统,部署了mysql数据库。工作人员在执行数据库版本更新测试时,错误地将本应在测试库执行的sql脚本在生产库上执行了,导致部分表被truncate,部分表内数据
    的头像 发表于 09-11 09:28 1170次阅读
    <b class='flag-5'>mysql</b>数据恢复—<b class='flag-5'>mysql</b>数据库表被truncate的数据恢复案例

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

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

    CentOS 7下MySQL 8双主热备高可用架构全解

    Centos7部署MySQL8+keepalived双主热备(含Keepalived配置与GTID同步优化方案) 架构拓扑原理 GTID同步 VIP 192.168.1.100 MySQL主节点1
    的头像 发表于 08-12 17:08 981次阅读

    MySQL 8.0性能优化实战指南

    作为一名运维工程师,MySQL数据库优化是我们日常工作中最具挑战性的任务之一。MySQL 8.0作为当前主流版本,在性能、安全性和功能上都有了显著提升,但如何充分发挥其潜力,仍需要我们掌握正确的优化策略。
    的头像 发表于 07-24 11:48 1035次阅读

    MySQL数据备份与恢复策略

    数据是企业的核心资产,MySQL作为主流的关系型数据库管理系统,其数据的安全性和可靠性至关重要。本文将深入探讨MySQL的数据备份策略、常用备份工具以及数据恢复的最佳实践,帮助运维工程师构建完善的数据保护体系。
    的头像 发表于 07-14 11:11 875次阅读

    企业级MySQL数据库管理指南

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

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

    探讨基于Docker部署的MySQL数据库在AI应用中的关键作用。通过忆联PCIe5.0企业级SSD(UH812a)实测验证,展示了Namespace技术与QoS优化策略如何实现存储资源的精细化管理
    的头像 发表于 06-26 13:53 564次阅读
    忆联 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 1424次阅读