资讯专栏INFORMATION COLUMN

mysql 存储过程

xioqua / 2527人阅读

摘要:标准组件式编程存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的语句。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。

SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。

存储过程的优点:

(1).增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

(2).标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。

(3).较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。

(4).减少网络流量:针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织进存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大减少网络流量并降低了网络负载。

(5).作为一种安全机制来充分利用:通过对执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110613.html

相关文章

  • MySQL数据库DDL操作之存储过程和函数

    摘要:上篇文章介绍了数据库操作中的触发器,本章将详细介绍数据库操作中的存储过程和函数,存储过程和函数在某些复杂业务场景下还是有很大作用的。定义和作用存储过程和函数是数据库中预先编译好的一个为了完成特定功能的语句集。 上篇文章介绍了MySQL数据库DDL操作中的触发器,本章将详细介绍MySQL数据库DDL操作中的存储过程和函数,存储过程和函数在某些复杂业务场景下还是有很大作用的。 1、定义和作...

    venmos 评论0 收藏0
  • Mysql存储过程存储函数

    摘要:用于指定存储过程中的参数列表。语法项表示存储过程的主体部分,也成为存储过程体,其包含了需要执行的。是函数体,所有存储过程中的在存储函数中同样可以使用。注释信息,用来描述存储过程或函数。1 存储过程 1.1 什么是存储过程 存储过程是一组为了完成某项特定功能的sql语句集,其实质上就是一段存储在数据库中的代码,他可以由声明式的sql语句(如CREATE,UPDATE,SELECT等语句)和过...

    Shisui 评论0 收藏0
  • 拆解 MySQL 的高阶使用与概念

    摘要:创建参数,表示该参数的值必须在调用存储过程时指定。过程体过程体由合法的语句构成过程体可以是任意语句不能通过存储过程来创建数据表数据库。事务事务用于保证数据库的完整性。 前面我们主要分享了MySQL中的常见知识与使用。这里我们主要分享一下MySQL中的高阶使用,主要包括:函数、存储过程和存储引擎。 对于MySQL中的基础知识,可以参见 《与 MySQL 的零距离接触》 1 函数 函数可以...

    Lyux 评论0 收藏0
  • mysql-存储过程

    摘要:什么是存储过程为以后的使用而保存的一条或多条语句的集合。关键字指出相应的参数用来从存储过程传出一个值返回给调用者。在存储过程复杂性增加时,这样做特别重要。这显然是一个更高级,功能更强的存储过程。 1、什么是存储过程 为以后的使用而保存的一条或多条MySQL语句的集合。 存储过程思想上就是数据库 SQL 语言层面的代码封装与重用。 2、为什么要使用存储过程 把处理封装在容易使用的单元...

    Codeing_ls 评论0 收藏0
  • MySQLMySQL基础架构和查询过程

    MySQL逻辑架构 下图是MySQL的逻辑架构图,展示了MySQL各组件之间如何协同工作: 第一层的服务包括连接处理,授权认证,安全等 第二层架构包含了MySQL大多数的核心服务功能:查询解析、分析、优化、缓存以及所有的内置函数(例如:日期、时间、数学、和加密函数),所有的存储引擎功能都在这一层实现:存储过程、触发器、视图等。 第三层包含了存储引擎。存储引擎负责数据的存储和提取,每个存储引擎都有自...

    DandJ 评论0 收藏0
  • Mysql存储过程

    摘要:存储过程原文来自存储过程简单来说,就是为以后的使用而保存的一条或多条语句的集合。如果表名列名或业务逻辑或别的内容有变化,只需要更改存储过程的代码。调用存储过程结果将返回该用户所有订单的合计价格。 存储过程 原文来自https://godruoyi.com/artiles/... 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批件,虽然它们的作用不仅...

    Crazy_Coder 评论0 收藏0

发表评论

0条评论

xioqua

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<