首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql和网络延迟

Mysql和网络延迟
EN

Stack Overflow用户
提问于 2013-12-15 16:04:36
回答 1查看 2.8K关注 0票数 2

我们有通过VPN隧道连接到web服务器上的MySQL DB的应用程序.问题是,由于网络延迟,应用程序与远程DB之间的所有交互都非常缓慢。我使用sysbench在网络上测试了MySQL的性能,结果显示每个查询几乎需要1秒。从应用程序中更新DB中的300+行需要20+分钟。

如何在不使服务器靠近客户端的情况下提高网络上的DB性能?在慢速网络上查询DB的最佳实践是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-15 16:10:08

如果问题是网络延迟(而不是网络带宽),那么解决方案就是尽可能多地将代码移到数据库中。

也就是说,设置存储过程来完成工作,而不是逐行编写代码.存储过程本质上处理多行代码,只需要一次往返到数据库的开销。

这需要智能设置,特别是当您必须将数据传递到存储过程中时。考虑以下两种做同样事情的方法:

代码语言:javascript
复制
insert into X(a) values ('a');
insert into X(a) values ('b');
insert into X(a) values ('c');

代码语言:javascript
复制
insert into X(a)
    select 'a' union all select 'b' union all select 'c';

第一次需要三次往返,因为有三次独立陈述,第二次只有一次往返。在以延迟为主的环境中,第一个环境的长度将是第二个环境的三倍。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20596541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档