データベース設計

【SQL入門】インデックス(INDEX)を作成・削除する

インデックス(INDEX)とは?

データベースにおけるインデックスとは、目的のレコードを効率よく取得するための「索引」のことです。
テーブル内の特定の列を識別できる値(キー値)と、キー値によって特定された列のデータが格納されている位置を示すポインタで構成されています。インデックスを参照することで目的のデータが格納されている位置に直接アクセスすることができ、検索を高速化することができます。

インデックス(INDEX)を作成する

SQLの「CREATE  INDEX」または「ALTER  TABLE」を使うことで、データベースのテーブルにインデックス(INDEX)を付与することができます。

INDEX作成の基本構文

CREATE  INDEX  インデックス名  ON  テーブル名 ( カラム名1, カラム名2・・・ );
または
ALTER  TABLE  テーブル名  ADD  INDEX  インデックス名  ( カラム名1, カラム名2・・・ );

「CREATE INDEX」でインデックスを作成する

CREATE INDEXの実行例 (MySQLの例)

CREATE INDEX (インデックス名) ON (テーブル名) (カラム名1, カラム名2);

INDEXの確認方法

SHOW INDEX FROM (テーブル名);

「ALTER TABLE」でインデックスを作成する

ALTER TABLE ADD INDEXの実行例 (MySQLの例)

ALTER TABLE (テーブル名) ADD INDEX (インデックス名) (カラム名);

インデックス(INDEX)を削除する

SQLの「DROP  INDEX」または「ALTER  TABLE」を使うことで、テーブルのインデックス(INDEX)を削除することができます。

INDEX削除の基本構文

DROP  INDEX  インデックス名  ON  テーブル名; (MySQLの場合)
DROP  INDEX  インデックス名 (Oracle、PostgreSQLの場合)
または
ALTER  TABLE  テーブル名  DROP  INDEX  インデックス名;

学習書の紹介

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ

開発者のためのWebマガジン「CodeZine」の人気連載を大幅加筆・修正して2008年に刊行、好評を博した『達人に学ぶSQL徹底指南書』の改訂・第2版です。
第2版では、初版構成を生かしつつ、SQLの強力な機能ウインドウ関数を全面的に採用して多くのコードをリバイスしました。全体的な解説の見直しや最新化も行ない、CASE式、ウィンドウ関数、外部結合、HAVING句、EXISTS述語など、SQLを扱うエンジニアに必要な「正しい書き方・考え方」「ビッグデータ時代に対応したモダンなSQL機能を駆使した書き方」を徹底解説しています。

学習書のお求めはこちらから → 全国送料無料!IT書、ビジネス書、資格書が豊富なSEshop

-データベース設計