テーブル毎のストレージエンジンを確認する方法
スポンサードリンク
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>
スポンサードリンク