MySQLデータベースのインデックスを確認・表示する方法
MySQLで作成済みのインデックスを確認したい場合、information_schema データベースの statistics テーブルを参照するのが便利です。このテーブルには、サーバー上のすべてのインデックスに関するメタデータ(テーブル名、カラム名、インデックスの種類など)が格納されています。
information_schema.statistics を使ったインデックスの表示方法
インデックスを表示するための基本構文は以下の通りです。
select * from information_schema.statistics where table_schema = yourDatabaseName;
実行例
ここでは、例として「web」というデータベースを使用します。インデックス情報を表示するクエリは次のように記述します。
select * from information_schema.statistics where table_schema = 'web';
このクエリを実行すると、以下のような結果が得られます。「web」データベースに含まれるすべてのテーブルと、それぞれに設定されたインデックスの詳細情報が一覧で表示されます。


SHOW INDEX 構文を使う方法
特定のテーブルのインデックスだけを手軽に確認したい場合は、SHOW INDEX ステートメントも利用できます。
show index from yourTableName;
たとえば、「users」テーブルのインデックスを確認するには、次のように実行します。
show index from users;
主な取得できる情報
これらの方法で確認できる主な項目は以下の通りです。
- Table: インデックスが設定されているテーブル名
- Key_name: インデックスの名前
- Column_name: インデックスが張られているカラム名
- Non_unique: 0ならユニークインデックス、1なら重複を許可する通常のインデックス
- Index_type: BTREEやFULLTEXTなど、インデックスの種類
パフォーマンスチューニングやクエリの最適化を行う際には、まずこれらのインデックス情報を把握しておくことが重要です。
-
MySQLでビューを削除する方法:DROP VIEWステートメントの使い方
MySQLでは、DROP VIEWステートメントを使用することで、データベースから不要になったビュー(VIEW)を削除できます。ビューは仮想テーブルであり、実際のデータを持たないため、削除しても元のテーブルのデータには影響しません。基本構文DROP VIEW [IF EXISTS] view_name;ここで view_name は、データベースから削除したいビューの名前を指定します。IF EXISTS オプションについてIF EXISTS を指定すると、指定したビューが存在しない場合でもエラーが発生せず、警告のみが表示されます。存在が確定していないビューを削除する際に便利なオプションです。実
-
MySQLエラー #1046「No database selected(データベースが選択されていません)」の原因と解決方法
MySQLエラー #1046 とは MySQLでテーブルを作成する際に、使用するデータベースを選択せずに作業を始めると、「ERROR 1046 (3D000): No database selected」というエラーが発生します。この記事では、エラーが起こる原因と、具体的な解決手順をわかりやすく解説します。 エラーが発生するケース まず、以下のようにMySQLを起動します。 正しいパスワードを入力すると、上記のようなコンソール画面が開きます。この状態で、データベースを何も選択せずにテーブルを作成してみましょう。 mysql> CREATE table TblUni -> ( -