MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで設定したインデックスを確認・表示する方法【SHOW INDEXコマンド】

MySQLで作成済みのインデックスを確認したい場合は、SHOWコマンドを使用します。この記事では、実際にテーブルとインデックスを作成しながら、インデックス情報を表示する手順をわかりやすく解説します。

インデックスを表示する基本構文

テーブルに設定されたインデックスの一覧を取得するには、以下の構文を使用します。

show index from テーブル名;

サンプルテーブルの作成

まず、動作確認用のテーブルを作成しましょう。以下の例では、自動採番される主キー「Id」と、姓名を格納するカラムを持つテーブルを定義しています。

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName varchar(20),
    LastName varchar(20)
    );
Query OK, 0 rows affected (0.46 sec)

主キー(PRIMARY KEY)を設定すると、MySQLによって自動的に「PRIMARY」という名前のインデックスが作成される点に注意してください。

インデックスの作成

次に、複数カラムを組み合わせた複合インデックスを作成します。ここでは「Id」と「FirstName」に対してインデックスを設定します。

mysql> create index id_FirstName on DemoTable(Id,FirstName);
Query OK, 0 rows affected (0.52 sec)
Records : 0 Duplicates : 0 Warnings : 0

設定したインデックスの表示

作成したインデックスを確認するには、以下のクエリを実行します。

mysql> show index from DemoTable;

実行結果として、テーブルに設定されているすべてのインデックス情報が表形式で出力されます。

+--------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table        | Non_unique | Key_name     | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+--------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| DemoTable    | 0          | PRIMARY      | 1            | Id          | A         | 0           | NULL     | NULL   |      | BTREE      |         |               | YES     |
| DemoTable    | 1          | id_FirstName | 1            | Id          | A         | 0           | NULL     | NULL   |      | BTREE      |         |               | YES     |
| DemoTable    | 1          | id_FirstName | 2            | FirstName   | A         | 0           | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
+--------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
3 rows in set (0.26 sec)

出力結果の主な項目について

  • Non_unique: インデックスが一意かどうかを示します。「0」は一意(ユニーク)なインデックス、「1」は重複を許可する通常のインデックスです。
  • Key_name: インデックスの名前です。主キーは「PRIMARY」と表示されます。
  • Seq_in_index: 複合インデックス内でのカラムの順序を示します。上記の例では、id_FirstNameインデックスの1番目にId、2番目にFirstNameが登録されています。
  • Column_name: インデックスが設定されているカラム名です。
  • Index_type: インデックスの種類です。InnoDBでは通常「BTREE」が使用されます。

このようにSHOW INDEX FROMコマンドを使えば、テーブルに設定されたすべてのインデックスの詳細な構成を簡単に確認できます。パフォーマンスチューニングやインデックス設計の見直しを行う際にぜひ活用してください。

  1. Androidでビューの位置を動的に設定する方法をわかりやすく解説

    この記事では、Androidアプリでボタンのタップをきっかけに、TextViewなどのビューの位置を動的に変更する方法を、実際のコード例とともにステップ形式で解説します。ポイントは RelativeLayout.LayoutParams の addRule() メソッドです。これを使うことで、実行時にレイアウト上のルール(配置条件)を追加・変更できます。完成イメージ画面中央に配置されたボタンをタップすると、その直下・左端を揃える位置へTextViewが移動します。手順1:Android Studioで新規プロジェクトを作成するAndroid Studioを起動し、メニューから「File」→「N

  2. MySQLでカラムのデフォルト値をNULLに設定する方法

    MySQLでは、DEFAULT NULLを指定することで、カラムのデフォルト値をNULLに設定できます。本記事では、実際にテーブルを作成し、デフォルト値NULLがどのように機能するかを具体的な例とともに解説します。デフォルト値がNULLのテーブルを作成するまず、DEFAULT NULLを指定したテーブルを作成します。mysql> create table DemoTable1440 -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(2