ホームページ >データベース >mysql チュートリアル >MySQL でページング クエリを実装する方法

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

清浅
清浅オリジナル
2019-03-16 14:01:3322014ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。