【发布时间】:2010-11-24 14:54:10
【问题描述】:
你们有些人可能知道,在 MySQL 中使用 LIMIT 关键字并不妨碍它读取前面的记录。
例如:
SELECT * FROM my_table LIMIT 10000, 20;
意味着 MySQL 仍会读取前 10,000 条记录并在生成我们之后的 20 条记录之前将它们丢弃。
因此,在对大型数据集进行分页时,高页码意味着较长的加载时间。
是否有人知道任何现有的分页类/技术/方法可以以更有效的方式对大型数据集进行分页,即不依赖 LIMIT MySQL 关键字?
如果可能的话,使用 PHP,因为这是我公司的首选武器。
干杯。
【问题讨论】:
-
如果你的数据集不太可能发生变化,你可以在后台计算每个元素的页面索引,然后分页只成为索引字段上的选择。可能发生的情况是,您偶尔会在页面上出现 n+1 个元素。
标签: php mysql pagination logic