MySQL存储过程(一)——存储过程理论基础

今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL存储过程的理论基础。

一、MySQL存储过程简介

简单来看,MySQL存储过程类似在MySQL数据库内使用SQL语句进行“编程开发”,我们可以把完成特定功能的若干SQL语句放在一起,这样可以使得数据库进行编译后,不需要对该存储过程中的语句再次进行编译。存储过程支持变量参数的概念,可以给存储过程设置一些变量,这样可以使得在调用存储过程时可以加入我们的参数,从而使得存储过程更加灵活。

二、MySQL存储过程优点

1、增强SQL语言的灵活性。 存储过程支持判断、循环等语句,可以完成较为复杂的命令。
2、SQL语句模块化。 存储过程经过一次编译,可以反复调用,方便数据库开发和维护人员工作。
3、执行速度快 在MySQL数据库中,当执行SQL语句时,MySQL数据库需要把我们键入的SQL语句“翻译”成二进制命令,最终放在计算机CPU中执行,我们把这个过程叫做编译,而编译过程是需要花费时间的。如果我们不使用存储过程,那么对SQL语句每次执行,都会进行一次编译,这自然会导致执行速度变慢。而如果使用存储过程,那么MySQL数据库会先把存储过程语句先编译好,这样在调用时,就不用在进行编译过程,这就提升了执行速度。
4、减少网络流量 在使用存储过程的情况下,我们可以把多条SQL语句的调用简化成一个存储过程的调用,这样在与数据库进行交互时,可以在一定程度上减少数据交互量,从而减少了网络流量。
5、提升数据库安全 存储过程对数据库安全的影响存在于两方面。一方面,存储过程可以隐藏内部实现的细节,能够对执行某一权限进行限制,从而实现对相应数据的访问限制,避免了非授权用户对敏感数据的访问。另一方面,使用存储过程,可以在一定程度上防止SQL注入攻击。

三、MySQL存储过程注意事项

1、MySQL存储过程可移植性差,与数据库版本、库表结构关系非常大。
2、存储过程对简单的SQL语句效果不大。
3、在一定程度上,涉及复杂计算的过程建议在数据库提取数据后,采用专业编程语言做,而不是使用存储过程。数据库本质上作用是数据的存储和快速查询,在数学运算上相比起其他编程语言并没有有时。
4、不要过多依赖于存储过程,有时从业务架构的整体考虑,也许能起到比存储过程更佳的效果。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(MySQL,mysql,数据库,sql,MySQL存储过程,运维DBA)