ホームページ >データベース >mysql チュートリアル >データベースにインデックスを作成する方法
インデックスは、列内の特定の値を持つ行をすばやく見つけるために使用されます。インデックスを使用しない場合、MySQL は最初のレコードから関連する行までテーブル全体を読み取る必要があります。テーブルが大きいほど、データのクエリにかかる時間が長くなります。インデックスを作成する手順は次のとおりです:
推奨チュートリアル: MySQL 入門ビデオ チュートリアル
1. まず、操作対象のデータテーブルは下図のようになりますので、nameフィールドにインデックスを追加する必要があります。
#2. 次に、下図に示すように、createindex を使用してインデックスを追加します。その後のコンテンツは破棄しないでください。
#3. 次に、テーブルの下のインデックス フォルダーを展開すると、作成されたインデックスが表示されます。
#4. 次に、インデックスを作成するときに、フィールドの後に並べ替え方法を追加することもできます。
#5. 次に、インデックスを削除するときに、次の図に示すように、drop ステートメントを使用します。これは、テーブルの削除と同様です。
#6. 最後の Drop ステートメントが実行されると、インデックス フォルダーの下にインデックスはなくなります。
#拡張情報
インデックスは、テーブル内のデータ行の取得を高速化するために使用されます。分散型ストレージ構造を作成します。インデックスはテーブル用に構築されます。インデックスはデータ ページ以外のインデックス ページで構成されます。各インデックス ページの行には、物理データの取得を高速化するための論理ポインタが含まれます。 [2] データベース図では、選択したテーブルの「インデックス/キー」プロパティページで各インデックスタイプの作成、編集、削除が可能です。インデックスが添付されているテーブルを保存するとき、またはテーブルが存在するグラフを保存するときに、インデックスがデータベースに保存されます。
リレーショナル データベースでは、インデックスは、データベース テーブル内の 1 つ以上の列の値を並べ替える別の物理的なストレージ構造です。 table. これらの値を物理的に識別する、テーブル内のデータ ページへの論理ポインターのコレクションと対応するリスト。索引は本の目次に相当し、目次のページ番号をもとに必要な内容をすぐに見つけることができます。
インデックスは、テーブルの指定された列に格納されているデータ値へのポインターを提供し、指定した並べ替え順序に従ってこれらのポインターを並べ替えます。データベースはインデックスを使用して特定の値を検索し、前方をポイントしてその値を含む行を検索します。これにより、テーブルに対応する SQL ステートメントがより高速に実行され、データベース テーブル内の特定の情報に迅速にアクセスできるようになります。
テーブル内に多数のレコードがある場合、テーブルに対してクエリを実行する場合、情報を検索する最初の方法はテーブル全体を検索することです。つまり、すべてのレコードを 1 つずつ取り出します。 1 つ目は、クエリ条件と 1 つずつ比較し、条件を満たすレコードを返すと、データベース システム時間が大量に消費され、大量のディスク I/O 操作が発生します。2 つ目は、テーブルにインデックスを作成することです。次に、インデックス内のクエリ条件を満たすインデックス値を検索し、最後にインデックスに保存します。テーブル内の ROWID (ページ番号に相当) を使用すると、テーブル内の対応するレコードをすばやく見つけることができます。
利点1. データ取得の速度が大幅に向上します;
2. 一意のインデックスを作成して、データの各行の一意性を確保します。データベース テーブル 3. テーブルとテーブル間の接続を高速化する; 4. データの取得にグループ化句と並べ替え句を使用すると、クエリでのグループ化と並べ替えの時間を大幅に短縮できます。
欠点1. インデックスには物理的なスペースが必要です。
2. テーブル内のデータを追加、削除、変更する場合、インデックスを動的に維持する必要があるため、データのメンテナンス速度が低下します。
以上がデータベースにインデックスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。