Heim >Backend-Entwicklung >PHP-Tutorial >php、mysql怎么对特别大的数据量进行分页

php、mysql怎么对特别大的数据量进行分页

WBOY
WBOYOriginal
2016-06-06 20:22:261538Durchsuche

php怎么对特别大的数据量进行分页

回复内容:

php怎么对特别大的数据量进行分页

一般分页写法是:

<code>SELECT * FROM posts ORDER BY id DESC LIMIT $page_size OFFSET $offset
</code>

不过当$offset很大时,速度会比较慢.

这时可以尝试使用"上一页"和"下一页"进行分页,比如:
60-41(上一页) 40-21(当前页) 20-01(下一页)
下一页(旧文章20篇):

<code>//page.php?id=-21 负数表示下一页旧文章 这里的21表示当前页最下面的文章的ID.
SELECT * FROM posts WHERE id </code>

上一页(新文章20篇):

<code>//page.php?id=40  正数表示上一页新文章 这里的40表示当前页最上面的文章的ID.
SELECT * FROM posts WHERE id > 40 ORDER BY id ASC  LIMIT 20;
</code>

得到的是升序ID序列,PHP使用array_reverse反转数组实现降序输出.

觉得负数不好看的话,可以额外加一个参数,比如:
page.php?action=next&id=21
page.php?action=prev&id=40

上面说了一个解决方案,我再说一个 延迟关联查询。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn