|
|
| カテゴリ | テーブルタイプ | 概略 |
|---|---|---|
| 基本的なテーブルタイプ | MyISAM | MySQLの基本となるタイプ。テーブル単位のロック |
| BDB(BerkeleyDB) | トランザクション,ページ単位のロックが可能 | |
| InnoDB | トランザクション,行単位のロック,外部キーが可能 | |
| 補助的なテーブルタイプ | MERGE | 同じ構造の複数のテーブル(MyISAMタイプ)を連結して1つのテーブルとする |
| HEAP | メモリー上に作成されるテーブル。データベースの終了時に消滅する | |
| Temporary | 接続ごとにユニークなテーブルとして作成される。他の接続からは参照できない。接続終了ととも消滅する |
MySQL 4.0は,Temporaryタイプのテーブルを除いて,5種類のストレージ・エンジン(MyISAM,BDB,InnoDB,MEMORY(HEAP),MERGE)を搭載しており,テーブルタイプに対応したストレージ・エンジンで処理が実行される。
MySQL 5.0ではストレージ・エンジンの種類は一挙に増える。従来のストレージ・エンジンに加え,新たに以下のストレージ・エンジンを搭載する。
表2●MySQL 5.0で使用できるストレージ・エンジン
ストレージ・エンジン
概略
実装されたバージョン
EXAMPLE
Storage Engine評価用
4.1.3
ARCHIVE
小さい容量で大きな大量のデータを扱う
4.1.3
CSV
CSVファイルにデータを格納する
4.1.4
NDB
クラスタ構成用のStorage Engine
4.1.10a
BLACKHOLE
挿入されたデータを格納しないダミーのテーブルを作成する
4.1.11
FEDERATED
他のサーバのテーブルを参照(マウント)する
5.0.3
FEDERATEDストレージ・エンジンは,MySQL 5.0からの新機能だ。他のMySQLサーバーに格納されているテーブルをローカルにあるテーブルと同様にアクセスできるようにする。
変わったエンジンとしては,BLACKHOLEエンジンがある。挿入されたデータを格納せず,常にEmptyなので参照できない。一見無意味に思えるが,レプリケーションの際に有効である。BLACKHOLEタイプのテーブルにデータを追加すると,データは消えてしまうが,binary logには内容が記録される。そのため,マスタ側にはデータが残らないが,レプリケーション機能を通じてスレーブ側のテーブルにデータが格納される。
次に,搭載されているストレージ・エンジンの確認方法と,新たなGUIデータベース設計ツール「MySQL Workbench」を紹介する。