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

MySQLでテーブル作成時にデフォルトのInnoDB以外のストレージエンジンを指定する方法

MySQLでテーブルを作成する際、デフォルトのストレージエンジンであるInnoDBを使わずに、別のストレージエンジンを明示的に指定することができます。指定方法は非常にシンプルで、CREATE TABLE文の末尾にENGINEキーワードを追加するだけです。

基本的な指定方法

以下は、テーブル作成時にストレージエンジンとして「MyISAM」を指定する例です。

mysql> CREATE TABLE Student(id INTEGER PRIMARY KEY, Name VARCHAR(15))
-> ENGINE = 'MyISAM';
Query OK, 0 rows affected (0.28 sec)

このように、ENGINEキーワードの後に希望するストレージエンジン名を記述することで、そのテーブルにのみ特定のストレージエンジンが適用されます。サーバー全体のデフォルト設定には影響しません。

利用可能なストレージエンジンの確認方法

自分のMySQLサーバーでどのストレージエンジンが利用可能かを確認したい場合は、次のコマンドを実行します。

mysql> SHOW ENGINES;

実行結果には、各エンジンがサポートされているか(SUPPORT列)や、トランザクション対応の有無などの情報が表示されます。

主なストレージエンジンの特徴

  • InnoDB: MySQLのデフォルトエンジン。ACID準拠のトランザクション、行レベルロック、外部キー制約をサポートしており、信頼性の高いOLTP処理に適しています。
  • MyISAM: かつてのデフォルトエンジン。トランザクションは使えませんが、読み取り中心のワークロードで高速に動作するのが特徴です。
  • MEMORY: データをすべてメモリ上に保持するため非常に高速ですが、サーバー再起動でデータが失われるため、一時データ向けです。
  • CSV: データをCSV形式のファイルとして保存するエンジンで、他ツールとのデータ交換に便利です。

まとめ

テーブルごとに最適なストレージエンジンを選択することで、パフォーマンスや機能面での要件に柔軟に対応できます。CREATE TABLE文にENGINEキーワードを付けるだけで簡単に指定できるので、用途に応じて使い分けましょう。

  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また、サーバー側で現