欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是建站经验系列之:【存储过程、存储函数的性能优势】,下面是详细的分享!
存储过程、存储函数的性能优势
关于存储过程,非常多的人难以理解除了方便以外,它还带来了什么。
我用手头的机器做了下面一个测试。暂且先不管机器类型,和表结构(其实表结构类似于这个帖子里面)。
DROP PROCEDURE IF EXISTS insert_n_rows;
delimiter //
CREATE PROCEDURE insert_n_rows (IN loops INT)
BEGIN
DECLARE count INT;
SET count=loops;
WHILE count > 0 DO
INSERT INTO my_table values(NULL,0,
‘wwwwwwmmmmmyyyyyysssssqqqqllllcccccoooooooomm’,
‘jjjjjjjjjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiiiiddddddddddddddddeeeeeeeeee’);
SET count=count - 1;
END WHILE;
END;
//
delimiter ;
我试着调用这个存储过程插入了100万行。
后来又用客户端程序去一次插入1条这样的方式去执行100万次。
最后用客户端程序去一次插入1条这样的方式去执行100万次,且这个客户端使用mysql proxy连接mysql。 下表显示了他们的区别
| 插入方式 | 所需时间 |
| 存储过程 | 51秒 |
| 客户端 | 142秒 |
| 客户端+proxy | 181秒 |
存储过程的速度要快于其他两种方式,原因很大成分在于它节省了网络开销,SQL语言解析,优化等等过程。
但毕竟数据库不擅长于过程式代码,所以用存储过程可以处理一些简单和小的过程。至于复杂的逻辑,让外部的语言去处理吧。
具体可以看
http://www.mysqlsystems.com/?p=325
http://www.mysqlsystems.com
http://www.mysqlsystems.com/bbs
以上所分享的是关于存储过程、存储函数的性能优势,下面是编辑为你推荐的有价值的用户互动:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
