MySQL与分页_MySQL

Jun 01, 2016 pm 02:00 PM
恵み

如果和MSSQL的TOP语法相比,那么MySQL的LIMIT语法要显得优雅了许多。使用它来分页是再自然不过的事情了。

  最基本的分页方式:

  SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ...

  在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引:

  举例来说,如果实际SQL类似下面语句,那么在category_id, id两列上建立复合索引比较好:

SELECT * FROM articles WHERE category_id = 123 ORDER BY id LIMIT 50, 10

  子查询的分页方式:

  随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:

SELECT * FROM aricles WHERE category_id = 123 ORDER BY id LIMIT 10000, 10

  一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。

  此时,我们可以通过子查询的方式来提高分页效率,大致如下:

SELECT * FROM articles WHERE category_id = 123 AND id >= (
  SELECT id FROM articles ORDER BY id LIMIT 10000, 1
) LIMIT 10

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

エラー処理に Go とコンテキストをエレガントに使用する方法 エラー処理に Go とコンテキストをエレガントに使用する方法 Jul 21, 2023 pm 11:37 PM

Go とコンテキストをエレガントに使用してエラー処理を行う方法 Go プログラミングでは、エラー処理は非常に重要なタスクです。エラーを適切に処理すると、コードの可読性、保守性、安定性が向上します。 Go 言語のコンテキスト パッケージは、エラー関連の操作を処理するための非常に便利な方法を提供します。この記事では、エラー処理に Go とコンテキストをエレガントに使用する方法を紹介し、関連するコード例を示します。はじめに Go 言語のエラー処理メカニズムは、エラー値を返すことによって実装されます。

Laravel フレームワークの紹介: PHP 開発のためのエレガントな新しい選択肢 Laravel フレームワークの紹介: PHP 開発のためのエレガントな新しい選択肢 Aug 13, 2023 am 08:46 AM

Laravel フレームワークの紹介: PHP 開発のためのエレガントな新しい選択肢 はじめに: 過去数年間にわたり、PHP 開発の分野は絶えず進化し、成長してきました。数多くの PHP フレームワークの中で、Laravel は間違いなく最も人気のあるフレームワークの 1 つです。明確で簡潔な構文、包括的な機能、優れたパフォーマンスにより開発者に愛されています。この記事では、Laravel フレームワークの基本機能を紹介し、コード例を通じてその柔軟で洗練された開発スタイルを示します。 1. Laravelフレームワークの特徴 1. エレガントな生成

PyCharm のヒント: コードを自動的にラップする問題をエレガントに処理する PyCharm のヒント: コードを自動的にラップする問題をエレガントに処理する Feb 23, 2024 pm 04:18 PM

PyCharm のヒント: コードの自動行折り返しの問題を適切に処理する PyCharm を Python プログラミングに使用する過程で、コードの自動行折り返しの問題が頻繁に発生します (特にコード行が長すぎる場合、自動行折り返しが可読性と読みやすさに影響を与える可能性があります)。コードの美しさ、セックス。この問題に適切に対処し、コードをよりクリーンで読みやすくするにはどうすればよいでしょうか?この記事では、PyCharm でコードの自動行折り返しを処理するためのいくつかのテクニックを紹介し、具体的なコード例を通じてそれを示します。 1. Python での backslash() の使用

PHP 開発者必読: Break を使用せずに Switch ステートメントをエレガントに使用するには? PHP 開発者必読: Break を使用せずに Switch ステートメントをエレガントに使用するには? Mar 28, 2024 pm 05:48 PM

PHP 言語の switch ステートメントは、条件に応じて異なるコード ブロックを実行するための制御フロー構造であり、通常、各 case ステートメントの実行後に、break ステートメントを使用して switch ステートメントから抜け出します。ただし、場合によっては、break を使用せずに次のケースや複数のケースを実行し続けたい場合がありますので、この記事では、PHP 開発において、break 文を使用せずに switch 文をエレガントに使用する方法を紹介します。まずは簡単なスイッチを見てみましょう

PHP エラー処理: エラー メッセージを適切に処理する方法 PHP エラー処理: エラー メッセージを適切に処理する方法 Aug 07, 2023 pm 10:05 PM

PHP エラー処理: エラー メッセージをエレガントに処理する方法 はじめに: エラー処理は、PHP コードを作成する際に非常に重要な側面です。新しいアプリケーションを開発している場合でも、レガシー コードを保守している場合でも、エラー メッセージの処理方法を考慮する必要があります。エラー メッセージを正しく処理すると、アプリケーションの堅牢性と保守性が向上します。この記事では、PHP エラー メッセージを適切に処理するいくつかの方法を紹介し、コード例を示します。エラー報告の設定 PHP では、エラー報告レベルを設定することで、エラー メッセージの処理方法を決定できます。

VSCode でフレームをエレガントに使用するにはどうすればよいですか? VSCode でフレームをエレガントに使用するにはどうすればよいですか? Mar 25, 2024 pm 09:12 PM

今日のソフトウェア開発分野において、フレームワークは開発者にとって欠かせないツールの 1 つです。開発者がアプリケーションを迅速に構築し、開発効率を向上させ、開発コストを削減するのに役立ちます。人気のある強力なコード エディターとして、Visual Studio Code (略して VSCode) をさまざまなフレームワークと組み合わせると、より効率的で便利な開発エクスペリエンスを開発者に提供できます。プロジェクトに合ったフレームワークを選択する フレームワークを使用する前に、まずプロジェクトのニーズとテクノロジー スタックに基づいて適切なフレームワークを選択する必要があります。頻繁

PHP 例外処理: プログラム内のエラーを適切に処理します。 PHP 例外処理: プログラム内のエラーを適切に処理します。 Aug 08, 2023 am 08:57 AM

PHP 例外処理: プログラム内のエラーを適切に処理する はじめに: 開発プロセスでは、プログラム内でさまざまなエラーが必然的に発生します。これらのエラーは、誤ったユーザー入力、サーバー構成エラー、データベース接続の問題などが原因で発生する可能性があります。プログラムの安定性と信頼性を確保するには、これらのエラーを正しく処理する必要があります。 PHP 例外処理メカニズムは、プログラム内のエラーを処理する洗練された効率的な方法を提供します。この記事では、PHP 例外処理の原則と実践方法を詳しく紹介し、いくつかのコード例を示します。

エレガントな PHP デプロイメント: Deployer を使用して開発効率を向上させます エレガントな PHP デプロイメント: Deployer を使用して開発効率を向上させます Jul 12, 2023 pm 01:55 PM

エレガントな PHP デプロイメント: Deployer を使用して開発効率を向上させる Web 開発において、デプロイメントは非常に重要なリンクです。従来の展開方法では通常、ファイルを手動でコピーしたりコマンドを実行したりするなど、面倒な操作が必要であり、エラーが発生しやすいだけでなく非効率的です。自動化されたデプロイメント ツールの助けを借りて、デプロイメント作業を簡単に完了し、開発効率を向上できるようになりました。この記事では、エレガントな PHP デプロイメント ツールである Deployer を紹介し、コード例を通じてこのツールを使用して自動デプロイメントを行う方法を示します。

See all articles