MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLではInnoDBはデフォルトで有効になっている?ストレージエンジンの確認方法を解説

MySQLにおけるInnoDBのデフォルト設定

はい、MySQLではInnoDBはデフォルトで有効になっています。特にMySQL 5.5以降ではInnoDBが標準のストレージエンジンとして採用されているため、CREATE文で明示的に指定しなくても自動的にInnoDBが使用されます。

ここでは、MySQL 8.0の環境を使って実際に確認していきましょう。まずは現在使用中のバージョンをチェックします。

mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

次に、設定ファイル(my.ini / my.cnf)を開いてみると、デフォルトのエンジンタイプとして「InnoDB」が設定されていることが確認できます。

MySQLではInnoDBはデフォルトで有効になっている?ストレージエンジンの確認方法を解説

テーブル作成時のストレージエンジンの挙動

それでは、2つのテーブルを作成して動作を見てみましょう。1つ目のテーブルはエンジンタイプを指定せずに作成し、2つ目のテーブルは明示的にENGINE=InnoDBを指定して作成します。

1つ目のテーブル(エンジン指定なし)

mysql> create table DemoTable1(Id int NOT NULL AUTO_INCREMENT PRIMARY KEY);
Query OK, 0 rows affected (0.80 sec)

2つ目のテーブル(ENGINE=InnoDB を指定)

mysql> create table DemoTable2(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;
Query OK, 0 rows affected (0.76 sec)

このように作成した2つのテーブルは、エンジンタイプを明示的に指定したかどうかにかかわらず、どちらも同じストレージエンジンで作成されます。

各テーブルのストレージエンジンを確認する

information_schema.TABLES を参照すれば、各テーブルで実際にどのストレージエンジンが使われているのかを調べられます。

まずは1つ目のテーブル「DemoTable1」のエンジンタイプを確認してみましょう。

mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable1';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.56 sec)

続いて、2つ目のテーブル「DemoTable2」のエンジンタイプも確認します。

mysql> select engine from information_schema.TABLES where TABLE_SCHEMA = 'web' and table_name='DemoTable2';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.00 sec)

ご覧のとおり、どちらのテーブルもエンジンタイプとして「InnoDB」が表示されました。「DemoTable1」のようにCREATE文でエンジンタイプを指定しなかった場合でも、デフォルトのストレージエンジンであるInnoDBが自動的に適用されることが確認できます。

  1. MySQLテーブルがMyISAMまたはInnoDBエンジンを使用しているか確認する方法

    MySQLテーブルのストレージエンジンを確認するには? MySQLでテーブルがMyISAMまたはInnoDBのどちらのストレージエンジンを使用しているかを確認したい場合、SHOW TABLE STATUSコマンドを使うのが最も手軽な方法です。このコマンドを実行すると、エンジンの種類だけでなく、行数や作成日時、照合順序など、テーブルに関する詳細情報を一度に取得できます。 基本構文 SHOW TABLE STATUS FROM データベース名 LIKE テーブル名; 上記の構文では、指定したデータベース内の特定のテーブルに関する情報が表示されます。Engine列の値を確認することで、そのテーブル

  2. MySQLでInnoDBをインストールまたは有効化する方法

    MySQLでInnoDBストレージエンジンを有効にするには、設定ファイルmy.ini(Linux環境の場合はmy.cnf)を編集する必要があります。MySQL 8以降ではInnoDBがデフォルトなお、MySQL 8.0以降では、デフォルトのストレージエンジンとしてInnoDBが標準で採用されているため、通常は特別な設定を行わなくてもInnoDBを使用できます。現在の設定はmy.iniファイルで確認しましょう。デフォルトストレージエンジンを明示的に指定したい場合は、設定ファイルに以下のように記述します。[mysqld]default-storage-engine=InnoDBまた、サーバー側で現