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 におけるイベントバブリングとイベントキャプチャの簡単な分析
この記事では、虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。...
この記事では、純粋な CSS3 を使用してモバイル端末での展開と折りたたみの効果を実装するサンプルコ...
<br />「良いデザインとは何か」と答える 1 万人に対して、少なくとも 1 万 1 ...
app.js: スタートアップファイル、またはエントリファイルpackage.json: プロジェク...
この記事では主に、SQL 削除ステートメント DROP、TRUNCATE、および DELETE の違...
1. コマンドの紹介passwd コマンドは、ユーザー パスワード、アカウント ロック、パスワードの...
Autotrash は、古い削除済みファイルを消去するプロセスを自動化するコマンド ライン プログラ...
[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...
スティッキーフッターレイアウトとは何ですか?一般的な Web ページのレイアウトは、通常、ヘッダー部...
1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...
序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...
この記事では、Baidu News Navigation Barの効果を実現するための具体的なJSコ...
序文最近、MySQL 5.7 をインストールしましたが、問題が見つかりました。コマンド ライン ウィ...
まずは適用方法を説明します。nginxモジュールにはjtxyとjtcmdの2つがあります。 http...
この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...