1. 制限の基本的な実装 一般的に、クライアントは、pageNo (ページ番号) と pageSize (ページあたりのエントリ数) の 2 つのパラメータを渡してページングすることで、データベース内のデータを照会します。データ量が少ない場合 (タプルが数百または数千)、この問題を解決するには、MySQL の組み込み制限を使用します。 クライアントから受信 {pageNo:1,pagesize:10} テーブル limit (pageNo-1) * pageSize, pageSize から * を選択します。 クライアントから受信 {pageNo:5,pageSize:30} テーブル limit (pageNo-1) * pageSize,pageSize から * を選択します。 2. 主キーまたは一意のインデックスを作成する データ量が少ない場合は、ページング データに制限をかけるだけでは、パフォーマンスの低下は顕著に表れません。ただし、データ量が数万から数百万に達すると、SQL ステートメントのパフォーマンスがデータの戻りに影響します。このとき、主キーまたは一意のインデックスを使用してデータをページ分割する必要があります。 主キーまたは一意のインデックスがgood_idであると仮定します。 クライアントから受信 {pageNo:5,pagesize:10} テーブルから、good_id > (pageNo-1) * pageSize limit pageSize を選択します。 –good_idが40~50のデータを返す 3. データに基づく再ランキング 情報を昇順または降順で返す必要がある場合は、データに基づいて上記のステートメントを再並べ替えます。デフォルトではASC/DESC順または逆順に並べ替えます テーブルから、good_id > (pageNo-1)*pageSize となる値を選択します。order by good_id limit pageSize; –good_idが40から50までのデータを返し、good_idでデータをソートします 4. ページングのベストプラクティス 1ページあたり10項目を表示します: 現在 118 120, 125 逆の順序: サイズ 980 970 7 6 6 5 54 43 32 21 19 98 次のページ: 選択 * から tb1 どこ nid < (select nid from (select nid from tb1 where nid < 現在のページ 最小値 order by nid desc limit data per page * [ページ番号 - 現在のページ]) A order by A.nid asc limit 1) 並び替え なし説明 制限 10; 選択 * から tb1 どこ nid < (nid を選択 (nid を tb1 から選択、nid < 970 で順序を nid desc 制限 40 で並べ替え) A A.nid asc 制限 1 で並べ替え) 並び替え なし説明 制限 10; 前のページ: 選択 * から tb1 どこ nid < (select nid from (select nid from tb1 where nid > 現在のページの最大値 order by nid asc limit data per page * [現在のページ - ページ番号]) A order by A.nid asc limit 1) 並び替え なし説明 制限 10; 選択 * から tb1 どこ nid < (nid を選択 (nid を tb1 から選択、nid > 980 で順序を nid asc 制限 20 にする) A を A.nid desc 制限 1 で順序付ける) 並び替え なし説明 制限 10; 以上が今回ご紹介したMySQLでページングを実装する方法の全てです。123WORDPRESS.COMをご愛顧、ご支援いただきありがとうございました。 以下もご興味があるかもしれません:
|
>>: js におけるイベントバブリングとイベントキャプチャの簡単な分析
目次背景コンテナを固定し、数字を上にスクロールすることで、スクロールホイールと同様の効果を実現します...
序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...
目次1. provide/inject の用途は何ですか? 2. provide/injectの使い...
私は最近countlyに触れて、慣れてきました。私は、必要に応じてcountlyのクラッシュプラグイ...
MySQL でサポートされている浮動小数点型は、 FLOAT 、 DOUBLE 、およびDECIMA...
なぜこのような効果を実現するのでしょうか。実は、この効果もタイトルプロンプトから派生したものですが、...
ここで、アンカー ポイントを制御するいくつかの状況をまとめてみましょう。 1. 同じページ <...
要件は次のとおりです。ドメイン名の下に複数のサーバーがあります。現在、特定の地域をテストしています。...
サーバーサイドレンダリング (SSR) を使用する理由検索エンジンのクローラーが完全にレンダリングさ...
目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...
Neo4j (Nosql の 1 つ) は、高性能なグラフ データベース (分散をサポートしていませ...
かなりの数のウェブサイトがデジタルページング効果を使用しています。たとえば、このサイトのページングも...
JavaScript には、for、for in、for of、forEach ループなど、多くのル...
フロントエンドの担当者であれば、面接でも仕事中でも、「CSS を使用して中央揃えにする」という効果に...
Web デザイン 5 におけるシンプルな XHTML Web フォーム。 テクニック 1: ラベル ...