ホームページ  >  記事  >  バックエンド開発  >  PHP ページング コードとページング原理の小さな例

PHP ページング コードとページング原理の小さな例

WBOY
WBOYオリジナル
2016-07-25 08:52:501078ブラウズ
  1. if ($_get['count']) {
  2. $count = $_get['count'];
  3. } else {
  4. $count =select count(*) from tablename where …..
  5. }
コードをコピーします

最初のページのみが計算され、後続のページは使用されない場合、効率は向上しますか? 別の状況があります。つまり、ファジー クエリの場合、ほとんどのクエリ結果が 20 未満であると推定されるアプリケーションがあります。つまり、結果が 1 ページしかないため、計算する必要はありません。総数は曖昧であり、クエリ効率も比較的低いです。そこで突然、当初の考え方から飛び出して、なぜ最初に合計行数を計算してからリストを取得する必要があるのか​​を考えました。

リスト結果の数 = 20 の場合、最初にリストをクエリできます。それから合計行数をクエリします。20 未満の場合は、実際には 1 ページしか存在しません。 行の合計数は、見つかったリスト結果の数と同じです。 疑似コードは次のとおりです。

  1. if ($_get['page']<2) {
  2. $list = select * from tablename where … 制限 0,20 最初のページの最初の 20 項目を直接クエリします
  3. if (count($ list )=20) {
  4. $count =select count(*) from tablename where …..
  5. } else {
  6. $count =count($list);
  7. }
  8. } else {
  9. $count = $_get['count ' ];
  10. $list = select * from tablename where … 制限 page-1*20,page-1*20+20
  11. }
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。