1. インデックス失敗の理由まず、検索でインデックスの秩序性を活用できない状況を見てみましょう。 テーブル テストに 4 つのフィールド a、b、c、d があり、c が主キーであるとします。 フィールド a と b にジョイント インデックス (a,b) を作成します 得られるルールは次のようになります:最初にフィールド a を小さいものから大きいものの順に並べ替え、フィールド a が等しい場合は、フィールド b を小さいものから大きいものの順に並べ替えます。 インデックスが無効になるかどうか、および無効になる理由を判断するには、次の状況を分析します。 条件にはbフィールドのみが含まれます b=2 の場合、テストから * を選択します。 インデックス失敗: 当然ですが、進むときに全文がスキャンされ、インデックスは使用されません。フィールド b のインデックス (2、4、1、3、4、5) のみを参照するため、インデックスの順序性を利用してデータをすばやく見つけることはできません。 フィールド a の範囲を照会します。 a>1かつb=2の場合、テストから*を選択します。 インデックス失敗: インデックスは完全に無効ではないことがわかりますが、インデックスは最初に a の位置を特定するために使用されます。ここでの key_len は 4 であり、結合インデックスの key_len は 8 であるためです。 フィールド a の等しい値とフィールド b の範囲を照会します。 インデックス失敗: 上記の状況をまとめると、左端のプレフィックス一致の原則に従わないとインデックスが失敗することになります。 最も左に一致するプレフィックスにより、インデックスのソート順序を活用できます。等号クエリを前に置き、範囲クエリを後ろに配置することで、[プレフィックス フィールドが等しい場合、後続のインデックス フィールドが順序付けされる] という機能を活用できます。これは、特別な意味での最も左のプレフィックス一致の原則です。 2. インデックスの秩序が崩れる状況を見てみましょう。 - インデックスフィールドに対して関数操作を実行する
- 暗黙的な型変換MySQL では、文字列と数値を比較する場合、文字列は数値に変換されます。暗黙的な型変換の本質は、インデックス フィールドで CAST() 関数を使用することです。原理は上記と同じです。 - 暗黙的な文字エンコード変換文字列エンコーディング変換の本質は 3. まとめインデックスが失敗する理由は、オプティマイザがインデックスの秩序性を活用できないと判断することです。したがって、インデックスを使用するときは、左端のプレフィックス一致の原則を満たすようにし、範囲クエリを最後に置き、 これで、MySQL インデックス無効化の原理に関するこの記事は終了です。MySQL インデックス無効化に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: nginx「504 ゲートウェイタイムアウト」エラーを解決する
目次関数パラメータの2つの主要なカテゴリ位置パラメータ可変長パラメータ名前空間要約する関数パラメータ...
目次1. グローバルレベル2. データベースレベル3. 表面レベル4. 列レベルの権限5. サブルー...
VM Ware 仮想マシン CentOS の時刻は、次の図に示すように、現地時間と一致しません。おそ...
HTTPS ウェブサイトの構築コストが下がるにつれて、ほとんどのウェブサイトが HTTPS プロトコ...
ビジネス シナリオ: vue + element ui の el-dialog を使用します。ポップ...
並べ替えツールLinux の sort コマンドは、テキスト ファイルの内容を並べ替えるために使用さ...
開発中、MySQL へのリモートアクセスでよく問題に遭遇します。そのたびに検索する必要があり、面倒に...
次のような効果がよく見られます。 そうです、ページ上でよく使われる「展開と折りたたみ」のインタラクシ...
目次スロットスロットとは何ですか?スロットの内容コンパイルスコープフォールバックコンテンツ名前付きス...
序文:最近、プロジェクトで管理システムに遭遇しました。権限設定が非常に興味深いと思いました。自分の学...
エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...
実際、この効果を実現するのは非常に簡単で、この効果は特殊効果と呼ぶことすらできません。次のコードを ...
この記事を書いている時点でのReactのバージョンは16.13.1です1 npm run eject...
プロセス アドレス空間の分離は、現代のオペレーティング システムの注目すべき機能です。これは、「古い...
この記事では、JavaScriptカスタムカレンダーエフェクトの具体的なコードを参考までに紹介します...