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;