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 は逆の順序を表すことができ、デフォルトは一般に次の順序です。
select * from table where demo_id > (pageNo-1)*pageSize order by demo_id limit pageSize;
以上がMySQL でページング クエリを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。