MySQL-テーブルエンジンをinnoDBからMyISAMに変更しますか?
まずテーブルを作成しましょう-
mysql> create table DemoTable1982 ( StudentId int , StudentName varchar(20), StudentAge int ); Query OK, 0 rows affected (0.00 sec)
テーブルエンジンの種類を確認しましょう-
mysql> show create table DemoTable1982;
これにより、次の出力が生成されます-
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | DemoTable1982 | CREATE TABLE `demotable1982` (`StudentId` int(11) DEFAULT NULL, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
これは、テーブルエンジンをinnoDBからMyISAMに変更するためのクエリです-
mysql> alter table DemoTable1982 ENGINE='MyISAM'; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0
ここでテーブルエンジンタイプを確認しましょう-
mysql> show create table DemoTable1982;
これにより、次の出力が生成されます-
+---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | DemoTable1982 | CREATE TABLE `demotable1982` ( `StudentId` int(11) DEFAULT NULL, `StudentName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, `StudentAge` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | +---------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
-
MySQLテーブルがmyISAMまたはInnoDBエンジンを使用しているかどうかを確認するにはどうすればよいですか?
MySQLテーブルがMyISAMまたはInnoDBエンジンを使用していることを知るには、コマンドshowstatustableを使用できます。構文は次のとおりです- SHOW TABLE STATUS from yourDatabaseName LIKE ‘yourTableName’. 上記の構文は、特定のテーブルエンジンについて説明しています。これで、上記の構文を適用して、MySQLテーブルエンジンがMyISAMとInnoDBのどちらを使用しているかを知ることができます。 ここに、データベース「business」とテーブル「student」があります。クエリは次
-
MySQLではINNODBがデフォルトで有効になっていますか?
はい、MySQLバージョン4.0からデフォルトで有効になっています。ここでは、MySQLバージョン8.0.1を使用しています- mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) ここで、デフォルトのエンジンタイプInnoDBが表示されているmy.iniを確認しましょう- 最初に2つのテーブルを作成しましょう。 1つはエンジンタイプで設定されますが、もう1つはエンジンタイプ