mysql 执行存储过程 非常慢

发布于 2021-11-07 19:38:56 字数 153 浏览 913 评论 10

我写了些存储过程,在第一台机器上运行时大概要2秒,换第二台机子后,超过20秒。

两个机子硬件配置略有差别,但感觉运行时也不应该差距这么大啊。

另外,在第一台机子上cpu占用率约20%,但第二台上极地,约2%。

不知道哪里配置不对,求解答,谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

泛滥成性 2021-11-10 22:14:06

...

你的也这么长啊

甜扑 2021-11-10 21:30:04


青萝楚歌 2021-11-10 21:25:03

正在执行,请稍后……

断爱 2021-11-10 20:55:44

我没说明白,是要call一下ttt(),运行时间10分钟。

浮生未歇 2021-11-10 04:00:20
delimiter ;;

drop procedure if exists ttt;;
create procedure ttt()	/* 计算所有路线的长度 */
begin

/* 关键点个数 */
declare point_cnt int;
declare idx int;

set idx = 0;

while (idx < 10000)
do
	set idx = idx + 1;
	select idx;
	insert into icounter values(idx);
end while;
end;;
delimiter ;

我试了下,上面这段代码要执行10分钟...

哪位好人在机子上帮我试下,贴下时间好么?

谢谢了!

草莓味的萝莉 2021-11-10 01:19:26

存储过程实质上还是基本的SQL组合,慢,说明SQL语句不是最化的,或者表设计不符合性能要求,或者索引问题

陌若浮生 2021-11-09 14:17:37

感谢回复。

存储过程本身可能写的效率不高,但应该不是主要原因吧。

还需要哪些信息?

我在想mysql是否有设置cpu占用上限的地方。

葬花如无物 2021-11-08 11:53:31

光有这点描述,很难能判断出具体问题所在

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文