欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySql存储过程―1、SQL存储过程的基础知识_MySQL

程序员文章站 2022-06-17 17:12:50
...
bitsCN.com
MySql存储过程—1、SQL存储过程的基础知识 在深入理解MySq之前,我们先理下一些简单的问题
Q:什么是存储过程?(stored procedure)A:是一段写好的SQL代码,特别的就是它是存在数据库的目录里。所以外部程序可以直接调用数据库里面定义好的存储过程,另外数据库内部的触发器(trigger)、或者其他存储过程也可以调用它。 Q:存储过程有什么好处?有什么坏处?A: 先看看好处吧:1、首先在性能上的提高,比起通过应用程序发送sql语句给数据库执行,让数据库自己内部执行存储过程效率更高、速度更快(存储过程将sql编译好后存在数据库目录下); 2、存储过程还减少了应用程序同服务器自己的信息交互频率,可以想象在不是使用存储过程的情况,应用程序需要发送多条sql指令给服务器,而使用存储过程则只要一条调用存储过程的语句,然后获取需要的数据就ok了。3、存储过程重用性比较高,并且是透明的,因为保存在数据库里面所以对任何应用来说都可以使用。新的应用只需要调用相应的存储过程就可以得到相应的数据服务。 4、存储过程也是种安全的做法,数据库管理员可以对那些没有权限访问数据库中的表格的应用,给他们使用存储过程的权限来获得数据服务,可以看到这个时候这些存储过程好像我们编程里面的”接口“这个概念。对于安全性要求很高的系统,例如银行,基本上常用的操作都是通过存储过程或者函数来进行的,这样完全对应用”隐藏“了表格。 当然也有坏处: 1、存储过程会使得数据库占用的系统资源加大(cpu、memory),数据库毕竟主要用来做数据存取的,并不进行复杂的业务逻辑操作。 2、因为存储过程依旧是sql,所以没办法像编程语言那样写出复杂业务逻辑对应的存储过程。3、存储过程不容易进行调试。 4、存储过程书写及维护难度都比较大。了解这些优缺点对我们权衡使用存储过程有很大的帮助 作者 rdarda bitsCN.com
相关标签: 存储 基础知识