1. インデックスはnull値を保存しない より正確に言うと、単一列インデックスには null 値は格納されず、複合インデックスにはすべて null の値は格納されません。インデックスには Null 値を格納できません。したがって、この列に is null 条件を使用すると、インデックスに Null 値がないためインデックスを使用できず、テーブル全体をスキャンすることしかできなくなります。 2. キー値が少ない列(重複データが多い列)には適していません インデックス列 TYPE に 5 つのキー値があり、レコードが 10,000 件ある場合、WHERE TYPE = 1 はテーブル内の 2,000 個のデータ ブロックにアクセスします。 3. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など) 'AAA'、'AAB'、'BAA'、'BAB' という値を持つコードの列があり、'%AB' のようなコードが入る条件があった場合、前の条件が曖昧なので、インデックスの順序は使えず、値を一つずつ検索して条件に合っているかどうかを調べる必要があります。これにより、完全なインデックス スキャンまたは完全なテーブル スキャンが実行されます。条件が「A % 」のようなコードである場合、CODE 内の A で始まる CODE の位置を検索できます。B で始まるデータに遭遇すると、後続のデータは確実に要件を満たさないため、検索を停止できます。この方法でインデックスを活用できます。 4. インデックス障害が発生するいくつかの状況 1. 条件に or がある場合、条件にインデックスがあっても or は使用されません (これが、 or ができるだけ使用されないようにする理由です) nid = 1 または name = '[email protected]' の場合、tb1 から * を選択します。 --特殊: or 条件は、インデックスが作成されていない列がある場合にのみ無効になります。次の例では、インデックス select * from tb1 where nid = 1 or name = 'seven' を使用します。 nid = 1 または name = '[email protected]' かつ email = 'alex' の場合、tb1 から * を選択します。 2. 複数列インデックスの場合、インデックスは最初に使用される部分でない限り使用されません。 3.クエリが%で始まる tb1 から * を選択します。メールアドレスは '%cn' のようなものになります。 4. 列の型が文字列の場合、条件内でデータを引用符で囲む必要があります。そうしないと、インデックスは使用されません。 tb1 から email = 999 の * を選択します。 5. MySQL は、テーブル全体のスキャンの方がインデックスよりも高速であると判断すると、インデックスを使用しません。 6. 通常のインデックスはインデックスがないことを意味するものではない - != tb1 から * を選択します。メールアドレスが != 'alex' の場合 --特別: 主キーの場合、インデックスは引き続き使用されます。select * from tb1 where nid != 123 -> tb1 から * を選択し、メール > 'alex' を選択します。 --特別: 主キーまたはインデックスが整数型の場合、インデックスは引き続き使用されます。select * from tb1 where nid > 123 tb1 から * を選択 (num > 123) 7. 複合インデックスの左端のプレフィックス 結合されたインデックスが次の場合: (名前、メール) 名前とメールアドレス - インデックスを使用 上記は、MySQL インデックスが失敗するいくつかの状況の詳細な概要です。MySQL インデックスの失敗の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Idea で Docker を使用して SpringBoot プロジェクトをデプロイする詳細な手順
>>: jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。
目次1. 共有共通モジュール2. 共有マテリアルモジュール3. 共有確認ダイアログ1. 共有共通モジ...
マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...
リバースプロキシリバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザ...
Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...
Netease Kanyouxi公式サイト(http://kanyouxi.163.com/)(棚...
目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...
Baidu によって定義されているデッドリンク形式には 2 種類あります。 1: XML形式のデッド...
フレックスレイアウトFlex は Flexible Box の略で、「柔軟なレイアウト」を意味します...
GROUP BY 構文を使用すると、指定されたデータ列の各メンバーに従ってクエリ結果をグループ化して...
#include <asm/io.h> #define ioremap(cookie,...
WeChat アプレットの軌跡再生では、主に線描画操作にポリラインを使用し、車の移動操作にマーカーを...
Idea は既存の Web プロジェクトをインポートして Tomcat に公開しますが、Tomcat...
この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...
この記事はMySQL 8.0.12のインストールと設定に関する詳細なチュートリアルを記録しています。...
目次1. はじめに: 2. 最初のアイデアはインデックスを構築することです3. 命令P.S. Lik...