テーブル毎のストレージエンジンを確認する方法
スポンサードリンク
MySQL ではテーブルを作成する際に ENGINE オプションでストレージエンジンを指定することができます。このテーブル毎のストレージエンジンは、次の2つの方法で確認することができます。
information_schema の TABLES テーブルを参照する方法
information_schema の TABLES テーブルには、全てのテーブルの属性情報が格納されています。各テーブルがどのストレージエンジンを使用しているかは ENGINE 列で確認することができます。
サンプルコード(システム使用のテーブルを除外)
SELECT
TABLE_SCHEMA,
TABLE_NAME,
ENGINE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA NOT IN(
'information_schema',
'performance_schema',
'mysql'
);
information_schema の TABLES テーブルには、ユーザーが定義したテーブルだけでなくシステムが使用するテーブルも全て含まれるので、サンプルコードでは TABLE_SCHEMA 列を絞り込み条件にしてシステムが使用するデータベースを除外しています。実行結果は次の通りです。
mysql> SELECT
-> TABLE_SCHEMA,
-> TABLE_NAME,
-> ENGINE
-> FROM
-> information_schema.TABLES
-> WHERE
-> TABLE_SCHEMA NOT IN(
-> 'information_schema',
-> 'performance_schema',
-> 'mysql'
-> );
+--------------+------------+--------+
| TABLE_SCHEMA | TABLE_NAME | ENGINE |
+--------------+------------+--------+
| test | cust_list | MyISAM |
| test | item_list | InnoDB |
| test | name_list | InnoDB |
+--------------+------------+--------+
3 rows in set (0.00 sec)
mysql>
SHOW TABLE STATUS で確認する方法
SHOW TABLE STATUS を実行すると、選択中のデータベースのテーブル情報を参照できます。その為、最初に USE で確認するテーブルが存在するデータベースを選択しておきます。
また SHOW TABLE STATUS の実行結果はカラムが多く、そのまま表示すると表示が崩れるので \G オプションを使用します。
SHOW TABLE STATUS\G
実行結果は次の通りです。Engine にストレージエンジンが記述されています。
mysql> USE TEST;
Database changed
mysql> SHOW TABLE STATUS\G
*************************** 1. row ***************************
Name: cust_list
Engine: MyISAM
Version: 10
Row_format: Dynamic
Rows: 0
Avg_row_length: 0
Data_length: 0
Max_data_length: 281474976710655
Index_length: 1024
Data_free: 0
Auto_increment: 2
Create_time: 2014-12-10 17:21:47
Update_time: 2014-12-10 17:21:47
Check_time: NULL
Collation: cp932_japanese_ci
Checksum: NULL
Create_options:
Comment:
*************************** 2. row ***************************
Name: item_list
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 1
Avg_row_length: 16384
Data_length: 16384
Max_data_length: 0
Index_length: 16384
Data_free: 0
Auto_increment: 3
Create_time: 2014-12-10 17:13:58
Update_time: NULL
Check_time: NULL
Collation: cp932_japanese_ci
Checksum: NULL
Create_options:
Comment:
*************************** 3. row ***************************
Name: name_list
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 0
Avg_row_length: 0
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2014-12-05 05:43:54
Update_time: NULL
Check_time: NULL
Collation: cp932_japanese_ci
Checksum: NULL
Create_options:
Comment:
3 rows in set (0.00 sec)
mysql>
スポンサードリンク