sql >> データベース >  >> RDS >> Database

SQLのインデックスとは何ですか?

    本を読むときはいつでも、その中の索引に気づいたに違いありません。 SQLのインデックスは同じです。インデックスは単なる特別なルックアップテーブルです。データベース検索エンジンは、これらのテーブルを使用してデータ取得プロセスを高速化します。インデックスを操作する際のSQLには多くの規定があります。特定のコマンドを使用して、クエリの選択、更新、インデックスの作成を行うことができます。
    このトピックの議題は次のとおりです。

      1. SQLのインデックスとは何ですか?
      2. インデックスを作成するにはどうすればよいですか?
      3. インデックスを削除する方法は?
      4. インデックスを変更するにはどうすればよいですか?
      5. SQLのインデックスの種類
      6. インデックスを避ける必要があるのはいつですか?

    SQLのインデックスとは何ですか?

    最初に述べたように、インデックスは特別なルックアップテーブルです。 SQLインデックスは、データを取得するためにリレーショナルデータベースで使用されます。インデックスは、特定のテーブルのデータへのポインタとして機能します。これは、読んだ本に見られる索引と同じように機能します。それらを使用することで、多くの機能を実行できます。

    インデックスを作成するには?

    インデックスを作成するには、指定された構文に従います。

    CREATE INDEX index_name ON table_name;

    これで、作成できるインデックスがいくつかあります。ご覧ください。

    について
    インデックス 定義 構文
    単一列のインデックス 1つのテーブル列にのみ作成されます。 CREATE INDEX index_name ON table_name(column_name);
    複合インデックス これらのインデックスは、テーブルの2つ以上の列で使用されます。 CREATE INDEX index_name;
    on table_name(column_name);
    一意のインデックス これらはデータの整合性のために使用されます。重複する値をテーブルに挿入することはできません。 CREATE UNIQUE INDEX index_name
    table_name(column_name);

    次のセグメントは、SQLでインデックスを削除する方法です!

    インデックスを削除する方法

    SQL DROPコマンドは、ドロップしてインデックスを作成するために使用されます。構文は次のとおりです。

    DROP INDEX index_name;

    次に、SQLコマンドを使用してインデックスを変更する方法を見てみましょう!

    インデックスを変更するには?

    次の構文を使用して、インデックスを変更します。

    ALTER INDEX index_name on object_name;

    変更およびインデックス作成中に使用できる用語は3つあります。

    • 再構築 :コンピュータインデックスは、再構築オプションを使用して再作成されます。
    • 認識 :bツリーのリーフノードは、認識オプションを使用して再編成されます。
    • 無効にする :無効化オプションはインデックスを無効にします。

    SQLにはさまざまな種類のインデックスがあります。それらを研究しましょう!

    SQLのインデックスの種類

    SQLには2種類のインデックスがあります。

    • クラスター化されたインデックス

    • 非クラスター化インデックス

    クラスター化されたインデックス

    1. クラスター化インデックスは、メモリ内の行を物理的に配置するのに役立ちます。

    2. 値の範囲の検索は高速です。

    3. これは、bツリーデータ構造リーフノードを使用して維持されます。インデックスのノードはテーブルを直接指します。

    非クラスター化インデックス

    1. 非クラスター化インデックスは、メモリ内の物理的な行を並べ替えられた順序で配置しません。

    2. 作成できるインデックスの最大数は999です。

    3. このインデックスもbツリーデータ構造によって維持されますが、インデックスのリーフノードはテーブルデータを直接指していません。

    SQLインデックスを進めて、それらを回避するタイミングを見てみましょう。

    インデックスを避ける必要があるのはいつですか?

    • 小さなテーブルではインデックスを使用しないでください。

    • NULL値の数が多い列は避ける必要があります。

    • 更新または挿入操作が多数あるテーブルでは、インデックスを使用しないでください。

    これはすべてSQLのインデックスに関するものです。内容があなたの知識に付加価値を説明したことを願っています。読み続け、探求し続けてください!

    MySQLについて詳しく知り、このオープンソースのリレーショナルデータベースについて知りたい場合は、MySQLDBA認定トレーニングをご覧ください。 インストラクター主導のライブトレーニングと実際のプロジェクトの経験が付属しています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。

    質問がありますか?この「SQLのインデックス」の記事のコメントセクションでそのことを伝えてください。折り返しご連絡いたします。


    1. JDBCによるOracleの非アクティブなセッション

    2. PHPとPostgres:エラーをキャッチしますか?

    3. FILEGROUP_NAME()を使用して、SQLServerのファイルグループの名前を返します

    4. PostgreSQL:PostgreSQLですべてのテーブルのOWNERを同時に変更します