2

我的服务器运行缓慢,因为我试图从 MySQl 数据库中获取 200 条记录(使用 PHP)。它们是我需要显示的帖子,我知道这是我的错误,因为当我尝试获取 1 条记录时速度很快,而 200 则大大减慢了速度。

这是一个已知问题,获取太多条目会导致问题吗?

4

4 回答 4

1

您的 PHP 代码必须是一个复杂的函数,每次都为每条记录循环。所以它应该运行 200 次。这会减慢页面响应时间。在 MYSQL 中获取 200 条记录完全没有问题。如果您在 MySql 终端中运行,它将立即运行。

于 2012-10-03T10:34:15.950 回答
1

有三种可能性可能会减慢您的服务器速度。

  1. 您的数据库未优化。优化你的数据库可以给你带来巨大的性能提升
  2. 您的查询做错了什么。我们需要查看您正在运行什么查询来获取 200 行。
  3. 您正在为循环中的每一行运行单独的查询。

我建议的是将您的查询基于此,例如。

从表中选择字段 WHERE 条件 = 所需条件 LIMIT 200

此外,如果该查询运行缓慢,则进行解释以查看其使用的索引

EXPLAIN SELECT fields FROM table WHERE 条件 = 所需条件 LIMIT 200

因为要获得 200 行应该需要几毫秒

于 2012-10-03T11:42:42.823 回答
0

您可以在表中存储的记录数,您可以获取的记录数。

for unsigned int largest value is 4,294,967,295
for unsigned big int largest value is 18,446,744,073,709,551,615

为了快速访问记录,您需要在查询中定义 LIMIT。

于 2012-10-03T10:35:40.377 回答
0

您应该获取显示所需的记录,不多不少。不要为(简单)计算获取记录,因为这可以在查询中完成。

我会说显示 50 ~ 100 条记录是用户大脑可以扫描的最大值,获取记录中的所有信息。

我是个例外,当看到超过 15 条记录时,我的大脑会倾斜 :)

于 2012-10-03T10:45:57.870 回答