MySQLの研究ノート - インデックス

1、インデックスの役割

  • 効率的な操作は非常に重要であるためMySQLのMySQLのインデックスを構築し、指数は大幅のMySQLの検索速度を向上させることができます。

    - アナロジーは、中国の辞書カタログページ(インデックス)アナロジーを取る、我々はすぐに必要な単語を見つけるために、ピンイン、ストローク、および内容のテーブルの他のラジカルソート(インデックス)を押すことができます。

  • 欠点インデックスは、インデックスを作成し、維持することです時間がかかり、書き込み速度を遅く

図2に示すように、インデックス(一般的なインデックス、インデックスのみ、複数列インデックス)を増加させます

一般的なインデックスシートは、二つの方法テーブル、カラム名、インデックス名に注意してください-

CREATE  INDEX t_emptest_inx ON ; t_emptest(EMPNO)- インデックスを作成する
のALTER  TABLEを t_emptest ADDの インデックス   t_emptest_inx(EMPNO); - 索引を作成します。

ユニークインデックスUNIQUEインデックス

- ユニークインデックス、同様の一般的な指標は、異なっている:索引列の値は一意であるが、自由な値を許可する必要があります。それは、インデックスの組み合わせであれば、列の値は一意である必要があります。
CREATE  UNIQUE  INDEXの   t_emptest_inx ON ; t_emptest(EMPNO)- インデックスを作成する
のALTER  TABLEを t_emptest ADD  UNIQUE  INDEXの   t_emptest_inx(EMPNO); - 索引を作成します。

複数列インデックスt_emptest(EMPNO、ENAME

- あなたは複合インデックスを作成する複合インデックスは、最も一般的に降順で、左端の列の制約として使用する必要があります。
CREATE  UNIQUE  INDEXの   t_emptest_inxm ON t_emptest(EMPNO、ENAME)。

意味に表示されるフィールドのインデックス - 3は、インデックスを表示します

SHOWのINDEX  FROM t_emptest; - インデックスを参照してください

フィールドの表示は以下の意味を持っています

4、インデックスを削除

ALTER  TABLE t_emptest DROPの INDEX t_emptest_inx;   - インデックスを削除、
DROPの INDEXの t_emptest_inx ON t_emptest;            - インデックスを取り除きます。

5、シーンのために

  • 主キー、外部キーは、インデックスを持つ必要があります。外部キーがユニークであることが多いお問い合わせ
  • データ量300個の以上のテーブルがインデックス付けされるべきです。
  • 多くの場合には、他のテーブルのテーブルに接続する接続フィールドインデックスを作成する必要がある上、多くの場合、クエリ、インデックスの必要性を参加
  • 多くの場合、無用であるF1、F2が、我々はF1またはF2にインデックスを構築ところ......特に大きなテーブルのフィールドには、インデックスを作成する必要があり、判断のスピードを加速し、Where句のフィールドに表示され、インデックスは一般的に選択して使用されていますA。2つだけ使用のジョイントインデックスが便利です
  • 多くの場合、並べ替えに使用インデックスがソートされているので、列を。
  • 多くの場合、インデックスがソートされているので、インデックスを作成するために、検索範囲の列で使用される、その指定された範囲が連続しています

6、適したシーンではありません

  • 人のためにめったにクエリで使用されていないか、参照される列のインデックスを作成しないでください。これらの列はほとんど使用されないので、これはですので、何の索引または索引が存在しないクエリの速度は向上しません。インデックスの増加により逆に、が、上のメンテナンスを削減し、システムのスペース要件の速度が向上します。
  • だけとのそれらのための列の数のデータ値のインデックスを増やすべきではありません。元々結果セットは、フル・テーブル・クエリの同等なので、必要はありませんので。これらの列の値は、性別欄担当者テーブルとして、小さいので、これは、テーブル内のデータを検索する必要があるデータテーブルの行の大部分では、クエリの結果では、データ行の結果セットでありますラインの大部分。インデックスの増加、大幅に検索速度をスピードアップしませんでした。
  • 列のテキスト、画像およびビットデータ型として定義されたもののインデックスを増加させるべきではありません。これは、これらの列のいずれか大きいまたは小さい値のデータ量。
  • ときに修正するパフォーマンスが検索性能よりもはるかに大きい、それはインデックスを作成することはできません。検索性能および性能の変更が競合しているためです。場合、インデックスの増加は、検索性能を高めるが、パフォーマンスの変更を減少させるであろう。指数の低下は、性能を改善し、検索性能を低下させるために修飾される場合。したがって、パフォーマンスを変更する場合は、インデックスを作成してはならない、検索性能よりもはるかに大きいです。
  • 条件はに表示されない場合は、フィールドインデックスを作成するべきではありません。


オリジナル該当シーンます。https://blog.csdn.net/u012954706/article/details/81241049

おすすめ

転載: www.cnblogs.com/shishibuwan/p/11165585.html