0

可能重复:
具有限制和大偏移量的 MySQL 查询永远占用

我的表包含 25,000 行,我使用分页来显示页面上的所有行。如果我的页面限制设置为每页 10 行,那么每页显示速度非常快。但是,如果我将页面限制大小更改为每页 250 行,则加载表(显示记录)需要 30 秒到 1 分钟。我使用的查询是这样的:

SELECT SQL_CALC_FOUND_ROWS Merchants.*, DataSources.DsISOName, PrName
FROM Merchants 
INNER JOIN DataSources ON MDsID=DsID 
INNER JOIN Processors ON PrID = DsType
ORDER BY MDBA LIMIT 0, 250

这是我首先加载页面时得到的。如果我更改页面,限制数字 0、250 会发生变化,所以如果我访问第 2 页,限制将更改为:

  LIMIT 250, 500 

如果有人可以看到我的查询有问题,请告诉我。我不明白为什么在每页获取 250 行时加载表需要 1 分钟。在 mysql 表上,我尝试在各种 ID 上使用索引,但速度仍然相同。

4

0 回答 0