Home
Blog
Products
Profile
Study
Collatz
© 2024 Oizumi Yuta

MySQL インデックスについて

2024-09-14

インデックスとは

次のようなテーブル定義を考える.

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    name VARCHAR(100),
    KEY (user_id)
);

この例では, users テーブルの user_id 列にインデックスが作成される. これにより user_id を使った検索クエリが高速に処理される.

KEY は INDEX の別名であり, インデックスを作成することを意味する. インデックスはデータベース内でクエリのパフォーマンスを向上させるために使用される. user_id カラムにインデックスが作成されることで, このカラムを使用する検索クエリ(例:

WHERE user_id = '123'
)の実行速度が速くなる.

インデックスを作成する・削除する

インデックスを作成する

次のコマンドは users テーブルの user_id 列に対して idx_user_id という名前のインデックスを作成する.

CREATE INDEX idx_user_id ON users (user_id);

次のコマンドは複数カラムのインデックスを作成する.

CREATE INDEX idx_user_id_name ON users (user_id, name);

インデックスを削除する

次のコマンドは users テーブルに作成した idx_user_id という名前のインデックスを削除する.

DROP INDEX idx_user_id ON users;