MySQL でページング クエリを実装する方法

清浅
リリース: 2022-03-31 17:48:01
オリジナル
22013 人が閲覧しました

MySQL でページング クエリを実装: データ量が少ない場合はリミット クエリを使用してページング クエリを実装でき、データ量が多い場合は主キーまたは一意のインデックスを確立することで実装できます。

バックエンド プロジェクトでは管理者の管理が常に避けられません。バックエンド管理でデータを表示する必要がある場合、ページングを使用する必要があります。次に、この記事では、 MySQL でページング クエリを実装する方法を共有します。参考として役立つので、皆さんのお役に立てれば幸いです。

MySQL でページング クエリを実装する方法

#【おすすめコース: #MySQL チュートリアル #】一般に、MySQL でページング クエリを実行する場合は、limit クエリが使用され、ソート用のクエリでは order by が使用されます。次に、MySQL がページング クエリを実装する方法を詳しく紹介します。

ページング要件:

クライアントは、start (ページ番号)、limit (それぞれに表示されるアイテムの数) を渡します。 page) ) ページングによってデータベース テーブル内のデータをクエリするための 2 つのパラメーター MySql データベースは制限 m、n のページング関数を提供しますが、この関数の使用法は私たちのニーズとは異なるため、自分に合ったページング ステートメントを書き直す必要があります実際の状況によると思います。例

項目 1 から 10 までのデータをクエリする SQL は次のとおりです:

select * from table limit 0,10;
ログイン後にコピー

私たちのニーズに対応するのは、最初のページのデータをクエリすることです:

select * from table limit (1-1)*10,10;
ログイン後にコピー

上記より分析から、ページング SQL の形式は次のように結論付けることができます。

 select * from table limit (start-1)*limit,limit;
ログイン後にコピー

ここで、start はページ番号、limit は各ページに表示される項目の数です。

主キーまたは一意のインデックスの確立

データ量が少ないときにデータ ページングに制限を使用しても、パフォーマンスが大幅に低下することはありませんが、データ量が上限に達すると、レベルが 10,000 または 1,000,000 に達すると、SQL ステートメントのパフォーマンスがデータの戻りに影響します。これは、データ ページングの制限の代わりに主キーまたは一意のインデックスを使用するためです。

例: 10 から 50 までのデータを返します

主キーまたは一意のインデックスを demo_id に設定します

select * from table where demo_id > (pageNo-1)*pageSize limit pageSize;
ログイン後にコピー

データに基づいた並べ替え

##情報を順番または逆の順序で返す必要がある場合、上記のデータを並べ替える必要があります。 Order by ASC は順序を表すために使用でき、order by DESC は逆の順序を表すことができ、デフォルトは一般に次の順序です。

例: 返されたデータは、demo_id

select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;
ログイン後にコピー
# の順序で配置されます。 ##概要: 以上がこの記事です全内容です。皆様のお役に立てれば幸いです

以上がMySQL でページング クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート