序文 MySQLクエリはselectコマンドを使用し、limitとoffsetパラメータを使用して、指定された範囲のレコードを読み取ることができることは誰もが知っています。ただし、オフセットが大きすぎる理由は、クエリのパフォーマンスと最適化方法に影響します。 ビジネス システムではページングが必然的に必要になります。ページングを考えるとき、それを実装するために SQL で LIMIT を使用することを間違いなく考えるでしょう。ただし、LIMIT を誤って使用すると、パフォーマンスの問題 (SQL の実行が遅くなり、サーバーがダウンする可能性がある) が発生し、上司から批判される可能性があります。そのため、LIMIT を正しく使用する方法を確認しましょう。 詳しい紹介を見てみましょう。 ページングを実装するためのLIMIT OFFSET、ROW_COUNT パフォーマンスの問題が発生する原因 myTable から * を選択し、`id` で LIMIT 1000000, 30 で並べ替えます。 この SQL 文を書いた人は、MySQL データベースが条件を満たす 1,000,000 番目の数字を直接見つけ、30 個のデータを取得するだろうと考えたに違いありません。 LIMIT 1000000, 30 は、条件を満たす 1000030 行をスキャンし、最初の 1000000 行を破棄し、最後の 30 行を返すことを意味します。 より良い方法 t.*を選択 から ( 選択ID myTableから 注文する id 制限 1000000, 30 ) q myTable t に参加する オン t.id = q.id 一般的な原則は次のとおりです。
具体的な原理分析に興味のある方は、この記事をお読みください: MySQL ORDER BY / LIMIT パフォーマンス: 遅延行検索 追記 つづく。 参考文献
要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Zabbix で Windows のパフォーマンスを監視する方法
>>: jQueryのチェーンプログラミングスタイルの詳細な例
インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...
この記事では、CSS 画像アニメーション効果(フォトフレーム)のサンプルコードを紹介し、皆さんと共有...
まず、例を見てみましょう。記事テーブルにはタイプフィールドがあり、1 見出し、2 おすすめ、3 ホッ...
この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...
COALESCE は、各パラメータ式 (expression_1、expression_2、...、...
tomcat の containerID を見つけて、tomacat ディレクトリに入ります。 [r...
序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...
MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。...
ほとんどのアプリケーション シナリオでは、緊急時に備えて重要なデータをバックアップし、安全な場所に保...
プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...
目次同じ名前の名前空間をマージする名前空間とその他の種類のマージ同じ名前の名前空間とクラスをマージす...
ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...
質問昨日、データベースSQLを書いているときに問題が発生しました。問題の根本は、SQL ステートメン...
CSS3 border-image プロパティを使用すると、要素の周囲に画像の境界線を設定できます。...
1. 前の章では、プログラムを yum リポジトリに直接インストールできることを学びましたが、そのた...