MySQLインデックスの失敗の原因

インデックス障害の例:

1.完全な値が私のお気に入りと一致する

  • いくつかの複合インデックスフィールドを確立します。いくつかのフィールドを使用するのが最善です。そして順番に使用

2.最適な左プレフィックスルール

  • 複数の列にインデックスを付ける場合は、左端のプレフィックスルールを遵守する必要があります。つまり、クエリはインデックスの左端の最前列から始まり、インデックスの中央にある列をスキップしません。(兄は死なない、中兄は失われない)

3.インデックス列でこれ以上の操作(計算、関数、(自動または手動)型変換)が発生すると、インデックスが失敗し、トークンスキャンに切り替わります

4.ストレージエンジンは、インデックスの範囲条件の正しい列を使用できません。(スコープ後のすべての失敗)

  • 中間インデックス列が範囲(>、<、likeなど)を使用する場合、後続のすべてのインデックスは無効です

5.可能な限りカバーインデックスを使用し(インデックスクエリにのみアクセスします(インデックス列とクエリ列は同じです))、select *を減らします。

6. Mysqlは、(!=、<>)と等しくない左ぼかしを使用する場合、インデックスを使用できません。これにより、テーブル全体がスキャンされます。

7、IS NULLおよびIS NOT NULLはインデックスを使用できません

8.暗黙的な型変換操作があり、行ロックがテーブルロックになり、SQLの効率が低下するため、一重引用符のない文字列のインデックスは無効です。

9. lessを使用するか、それを使用してインデックスに接続すると無効になります

マントラ

おすすめ

転載: www.cnblogs.com/zhuang229/p/12687979.html