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 におけるイベントバブリングとイベントキャプチャの簡単な分析
目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...
目次1要素オフセットシリーズ1.1 オフセットの概要1.2 オフセットとスタイルの違い視覚領域クライ...
目次1. フィルターの概念1. グローバルフィルターのフォーマットをカスタマイズする2. フィルター...
この記事では、参考までに、ファイルのオンラインプレビューを実現するためのvue-pdfの具体的なコー...
1. 概要Promise オブジェクトは、ES6 で提案された非同期プログラミングの仕様です。非同期...
プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...
「脳が多数の領域間の関係を処理できるように、入力は論理的なグループに分割する必要があります。」 – ...
目次1. クロージャとは何ですか? 1.2 クロージャのメモ化: 関数は定義された環境を記憶する1....
序文PC サーバーは今日まで発展を続け、パフォーマンスにおいて大きな進歩を遂げてきました。 64ビッ...
ping は成功したがポートにアクセスできない場合のポート可用性検出の説明ポート可用性検出ツールの紹...
1. 基本構造:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBL...
1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...
カスタムイメージに関するよくある質問データディスクを表示するにはどうすればいいですか? df コマン...
目次序文1. Dockerをインストールする2. ElasticSearchをインストールする3. ...
目次質問分析する解決するAlert() 関数を置き換えるsetTimeOut関数まとめ質問数日前、J...