MySQL连接限制建议

时间:2013-03-30 18:00:32

标签: mysql

我遇到了MySQL查询的问题,并希望有人可以提供一些帮助/建议。

我正在开发一个基于PHP的系统,它在一个页面上的不同选项卡中组合了大量数据(tab1 =个人资料,tab2 =地址,tab3 =付款等),因此,一个页面可以有到34/40 MySQL查询来自不同的表或不同的标准。

页面加载变得非常慢,我问我的网络主机他们是否知道出了什么问题,他们建议这是因为MySQL查询速度慢(有些超过2秒)。他们还说我的MySQL用户一次只允许15个连接。

如果我的页面有40个查询,一次只允许15个连接,这是否意味着它们有效排队并等待一个完成?如果是这种情况,那么我可以理解为什么页面需要一段时间来加载但我不确定解决方案。是否考虑了15个MySQL查询,或者这是我的主机(HostMonster)的严格限制?

此外,如果有15个用户同时访问系统,这15个连接是否会在每个用户之间分配,还是每个用户登录到该站点有15个连接?我认为他们的意思是每个数据库用户,但访问系统的所有人都将使用相同的数据库用户,所以似乎不可能创建一个系统,其中有几个用户可以访问一个?

整个关系让我感到困惑。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

  1. 每页有一个连接。将查询按顺序排列
  2. 优化这些查询 - 请参阅解释和使用索引
  3. 也许组合查询以减少吞吐量。
  4. 每页BTW 10+查询过多恕我直言。

答案 1 :(得分:0)

如果出现最大连接错误问题,请在命令行中使用此命令

mysqladmin flush-hosts  -uuser -p'password'

这将刷新MySQL记录的主机并再次构建列表。在较新版本的MYSQL 5.6中,您可以获得有关此内容的更多信息,但不会获得以前的版本。

您可以设置以下

max_connect_errors 10000 

以避免再次显示该消息。

15个查询或连接根本不是问题,在繁忙的数据库中,我们每秒看到数千个连接和数万个查询。