ストレージエンジンの種類とデフォルトストレージエンジンの設定

広告
eyecatch

MySQL では複数のストレージエンジンをサポートしています。ストレージエンジンとはテーブルにデータを書き込んだり読み出したりする部分を担っているプログラムのことで、現在の MySQL ではデフォルトのストレージエンジンは InnoDB になっています。ここでは MySQL で用意されているストレージエンジンの一覧を確認し、デフォルトで使用されるストレージエンジンを設定する方法について解説します。

MySQLで利用可能なストレージエンジンの一覧

MySQL で利用可能なストレージエンジンの一覧を確認するには、 MySQL モニタを起動して次のようにコマンドを実行してください。

show engines¥G

MySQLで利用可能なストレージエンジンの一覧(1)

EngineSupportCommentTransactionsXASavepoints
MEMORYYESHash based, stored in memory, useful for temporary tablesNONONO
MRG_MYISAMYESCollection of identical MyISAM tablesNONONO
CSVYESCSV storage engineNONONO
FEDERATEDNOFederated MySQL storage engineNULLNULLNULL
PERFORMANCE_SCHEMAYESPerformance SchemaNONONO
MyISAMYESMyISAM storage engineNONONO
InnoDBDEFAULTSupports transactions, row-level locking, and foreign keysYESYESYES
BLACKHOLEYES/dev/null storage engine (anything you write to it disappears)NONONO
ARCHIVEYESArchive storage engineNONONO

ずっと以前はデフォルトのストレージエンジンとして MyISAM が使用されていましたが、現在は InnoDB がデフォルトのストレージエンジンです。 InnoDB は唯一トランザクションをサポートしています。

デフォルトのストレージエンジンを変更する

デフォルトのストレージエンジンは my.ini ファイルで設定されています。では my.ini ファイルをテキストファイルで開いてください。

デフォルトのストレージエンジンを変更する(1)

設定ファイルの中でデフォルトのストレージエンジンの設定に関係する設定項目は次の通りです。

# SERVER SECTION
# ----------------------------------------------------------------------
#

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

現在デフォルトストレージエンジンの設定で使用する default-storage-engine には InnoDB が設定されています。

ではテスト用のテーブルを作成して、テーブルで使用されるストレージエンジンを確認してみます。

デフォルトのストレージエンジンを変更する(2)

使用するストレージエンジンを指定せずにテーブルを作成すると、現在デフォルトのストレージエンジンに設定されている InnoDB が使用されることが確認できました。

-- --

ではデフォルトストレージエンジンを変更してみます。例えば MyISAM を設定するには my.ini ファイルを次のように変更してください。

# SERVER SECTION
# ----------------------------------------------------------------------
#

# The default storage engine that will be used when create new tables when
default-storage-engine=MyISAM

設定ファイルを保存し、 MySQL サーバを再起動してください。その後で改めて テスト用のテーブルを作成して、テーブルで使用されるストレージエンジンを確認してみます。

デフォルトのストレージエンジンを変更する(3)

使用するストレージエンジンを指定せずにテーブルを作成すると、現在デフォルトのストレージエンジンに設定されている MyISAM が使用されることが確認できました。

このようにデフォルトで使用されるストレージエンジンを変更したい場合には、 my.ini ファイルの default-storage-engine に設定してください。

-- --

MySQL で利用可能なストレージエンジンの一覧を確認する方法と、デフォルトストレージエンジンを変更する方法について解説しました。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。