序文 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のチェーンプログラミングスタイルの詳細な例
目次1. ファイルを開くパラメータの紹介2. ファイルの読み取り3. ファイルを書き込む4. 閉じる...
序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...
/etc/docker/daemon.json を編集し、以下を追加します。 { "ストレ...
目次プレハブプレハブの作り方プレハブの役割1. 同じタイプのノードをバッチで作成する2. 特定の時間...
目次序文1. Ingressの展開と構成2. httpsを使用する序文k8sクラスタサービスがデプロ...
「読み取り専用」と「無効」はどちらも、ユーザーがフォーム フィールドの内容を変更できないようにします...
ヒント:配列変更メソッドによりv-forが更新され、ページが更新されます。配列を変更しないメソッド:...
最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...
この記事では、Linux のユーザーとグループの管理によく使用されるコマンドをまとめます。ご参考まで...
目次事前分析とは何ですか?変数と関数の準備の違いvar 変数の繰り返し宣言変数と関数の昇格の優先順位...
例: PHP バックグラウンド コードを通じて、従業員情報を削除したり、削除した従業員情報を復元した...
** CentOS7 で yum ソースをインストールし、rz および sz コマンドをアップロー...
目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...
目次1. 背景2. テーブル作成ステートメントとデータ挿入テーブルを作成するデータの挿入3. ウィン...
margin:auto; + position: absolute; 上、下、左、右:0デモを見れ...