テーブルで使用されているストレージエンジンを確認するには、 show table status
を使用できます。結果のEngine
フィールドには、テーブルのデータベースエンジンが表示されます。または、engine
フィールドを information_schema.tables
から選択できます。
select engine
from information_schema.tables
where table_schema = 'schema_name'
and table_name = 'table_name'
alter table
を使用して、ストレージエンジンを切り替えることができます。
alter table the_table engine = InnoDB;
もちろん、使用可能な任意のストレージエンジンを指定できます。
問題のデータベースを選択し、show table status;
を実行します
SHOW TABLE STATUS FROM `database`;
myISAMであるかInnoDBであるかにかかわらず、すべてのテーブルのすべてをリストします。 1つのテーブルに関するデータのみを一覧表示する場合は、以下の構文を使用できます*:
SHOW TABLE STATUS FROM `database` LIKE 'table';
テーブルエンジンを変更するには:
ALTER TABLE `table` ENGINE=InnoDB;
*注意:データベース名とテーブル名にはGrave ACCENT( `バックティック)を使用し、LIKEの後の比較文字列(テーブル名の一部)にはSINGLE QUOTE( ')を使用してください。
`!= '
MyIsamをInnodbに変換することについて
http://dev.mysql.com/doc/refman/5.0/en/converting-tables-to-innodb.html
これは、allテーブルをallデータベースとそのストレージにリストするクエリですエンジン:
SELECT table_name, table_schema, engine
FROM information_schema.tables;