MySQL存储过程和函数的区别与优缺点

MySQL存储过程和函数的区别与优缺点,第1张

1、函数必须指定返回值,且参数默认为IN类型。

2、存储过程没返回值,参数可以是 IN,OUT,IN OUT类型,有的人可能会理解成OUT 也算是返回值。

3、调用方式:函数 select my_fun() 过程 call my_pro( )

4、DEMO

1

2

3

4

5

6

7

8

9

10

11

DELIMITER $$

DROP FUNCTION IF EXISTS my_fun$$

CREATE

FUNCTION my_fun(a INT(2),b INT(2))

RETURNS INT(4)

BEGIN

DECLARE sum_ INT(2) DEFAULT 0

SET sum_ = a + b

RETURN sum_

END$$

DELIMITER

1

2

3

4

5

6

7

8

DELIMITER $$

DROP PROCEDURE IF EXISTS my_pro$$

CREATE

PROCEDURE my_pro(IN a INT(2),IN b INT(2) ,OUT c INT(2))

BEGIN

SET c = a + b

END$$

DELIMITER

优点:

体积小、速度快、总体拥有成本低,开源;

支持多种操作系统;

是开源数据库,提供的接口支持多种语言连接操作 ;

MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;

MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证;

支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展;

支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改;

拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性;

MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。

缺点:

不支持热备份;

MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变;

没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制;

MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或linux 自行安装 免费 、Unix或Linux 第三方安装 收费。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/61529.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-27
下一篇2023-02-27

发表评论

登录后才能评论

评论列表(0条)

    保存