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 におけるイベントバブリングとイベントキャプチャの簡単な分析
コードをコピーコードは次のとおりです。 <object classid="clsid...
インストールとアンインストールの表示 # rpm -qa | grep mysql を表示 # アン...
最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...
ソースコードプレビュー: https://github.com/jdf2e/nutui NutUI ...
この記事では、次のように、誰にでも共有できる左右幅固定のミドルアダプティブ HTML レイアウトソリ...
多方向探索ツリー完全二分木の高さ: O(log2N)、ここで2は対数完全なM方向探索木の高さ: O(...
Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...
目次エフェクト表示コンポーネント設定ステップ1ステップ2ステップ3コンポーネントの使用ステップ1ステ...
1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...
1. 仮想化 vcenter に入り、ブラウザでログインし (クライアントは設定する場所を見つけませ...
vsftpd の概要vsftpd は「very secure FTP daemon」の略称で、セキ...
jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...
ドロップダウンボックス、テキストフィールド、ファイルフィールド 上半分はデモンストレーション効果、下...
この記事では、ログイン認証を実装するためのExpressの具体的なコードを例として紹介します。具体的...
目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...