序文 通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページを後の位置に移動すると、MySQL は破棄する必要のあるデータをスキャンするのに多くの時間を費やすため、クエリは非常に遅くなります。 基本的なページングテクニック 通常、効率的なページングを実現するには、クエリ内の WHERE 条件列とソート列に結合インデックスを適用する必要があります。 1. フィールドの並べ替え 注文する a,b で順序付け a、b、c で順序付け ORDER BY a DESC、b DESC、c DESC 2. フィルタリングと並べ替え a = const ORDER BY b, c の場合 a = const かつ b = const の場合、c で ORDER BY する a = const ORDER BY b, c の場合 a = const かつ b > const の場合、b, c で ORDER BY する 3. 次のクエリは上記のインデックスを使用できません ORDER BY a ASC, b DESC, c DESC // ソート方向が一貫していません WHERE g = const ORDER BY b, c // フィールド g はインデックスの一部ではありません WHERE a = const ORDER BY c // フィールド b は使用されていません WHERE a = const ORDER BY a, d // フィールド d はインデックスの一部ではありません 大量のデータのページめくりの問題を解決 1. LIMIT M,NのクエリをLIMIT Nに変更します。 例: mysql> SELECT <cols> FROM profiles INNER JOIN ( -> SELECT <主キー列> FROM プロファイル -> WHERE x.sex='M' ORDER BY 評価 LIMIT 100000, 10 -> ) AS x USING(<主キーの列>); 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CentOS7 ファイアウォールとオープンポートの簡単な使い方の簡単な紹介
目次Docker の基本概念Docker インストール プロセス (Centos6.9)カーネルのア...
1. 問題の原因友人の @水米田 から、POSITION に基づくマスタースレーブについて質問があり...
Vueボタンコンポーネントのカスタムカプセル化コードは参考用です。具体的な内容は次のとおりです。ボタ...
この記事では、絵文字用の MySQL Java サーバーのサポートと問題解決方法について説明します。...
今夜、数日間悩まされていた問題を解決しました。本当に解決したかどうかはわかりませんが、解決されている...
仕事では、docker や kubernetes などのオープンソース ツールをさらに活用しましょう...
まず設定ファイルがどこにあるか調べる nginx.confはどこにありますかこれらのディレクトリを調...
DPlayer.jsビデオプレーヤープラグインは使いやすい主な用途: ビデオの再生、監視の開始、終了...
目次1. 文法2. 例3. その他の関連方法長い間、reduce() メソッドの具体的な使い方を理解...
目次1 v-ifとv-showの使用2. 計算と監視を区別する3 v-for トラバーサルでは、アイ...
昨年末、Thinkpad T450 のデュアルシステムの opensuse を Manjaro に置...
Docker はますます多くのシナリオで使用されています。コマンドラインツールに慣れていない人にとっ...
VC6.0は確かに古すぎるVC6.0は昔の開発ツールです。現在のwin10では対応していません。しか...
序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...
MySQL 基本データ型一般的な MySQL データ型の概要 ![1036857-201708011...