|
||||||||||||||
| 1 2 3 次のページ | ||||||||||||||
| はじめに | ||||||||||||||
|
今回は、MySQLのストレージエンジンの中でも特に有名な「MyISAM」と「InnoDB」の2つを取り上げます。MyISAMはMySQLのデフォルトストレージエンジンで、ストレージエンジンを指定せずにテーブルを作成するとMyISAMが選択されます。もう一方のInnoDBエンジンは、MySQLに豊富なトランザクション機能を提供するストレージエンジンとして有名です。 まずはそれぞれのテーブルファイルの構造について解説し、最後にInnoDBのトランザクションについて解説します。 |
||||||||||||||
| MySQLのディレクトリ構造 | ||||||||||||||
|
各ストレージエンジンのファイル構造を説明する前に、前知識としてMySQLのディレクトリ構造について説明します。 MySQLのデータベースディレクトリには、バイナリログと呼ぶデータベースの更新情報を格納するファイルと、2つのサブディレクトリが存在します(図1)。 ![]() 図1:MySQLデータベースディレクトリ 「mysql」ディレクトリには権限テーブルと呼ばれるMySQLが使用するテーブル群を格納し、「test」ディレクトリは権限テーブルを初期化する際に作成されるデータベースのディレクトリです。ユーザが新たなデータベースの作成を行うと、MySQLはそのデータベース名のサブディレクトリをデータベースディレクトリ内に作成します。 この構造は、使用するストレージエンジンに関係なく共通です。 |
||||||||||||||
| MyISAMのテーブルファイル | ||||||||||||||
|
テーブルを作成する際にMyISAMを選択すると、データベース名のサブディレクトリ内に、「テーブル名.frm」「テーブル名.MYD」「テーブル名.MYI」の3つのファイルが作成されます。
表1:テーブルファイルの役割 次に示すは「MyISAM_TEST」データベース内に「TEST00」という名前のMyISAMテーブルを作成した時のファイル一覧です。「MyISAM_TEST」ディレクトリ内に「TEST00.frm」「TEST00.MYD」「TEST00.MYI」の3つのファイルが存在していることがわかると思います。
[root@localhost var]# ls MyISAM_TEST/
|
||||||||||||||
|
1 2 3 次のページ |
||||||||||||||
|
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||
|
|
||||||||||||||
|
||||||||||||||


