0

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

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

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

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

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

整个连接的事情让我有点困惑。

提前感谢您的帮助!

4

2 回答 2

2
  1. 每页有一个连接。将查询按顺序排列
  2. 优化这些查询 - 请参阅解释和使用索引
  3. 也许结合查询以减少吞吐量。

顺便说一句,每页 10 多个查询是过多的恕我直言。

于 2013-03-30T18:05:35.147 回答
0

如果遇到最大连接错误问题,请从命令行使用此命令

mysqladmin flush-hosts  -uuser -p'password'

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

您可以设置以下

max_connect_errors 10000 

以避免消息再次出现。

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

于 2013-03-31T13:27:13.173 回答