選択できるテーブルタイプ

カテゴリテーブルタイプ概略
基本的なテーブルタイプMyISAMMySQLの基本となるタイプ。テーブル単位のロック
BDB(BerkeleyDB)トランザクション,ページ単位のロックが可能
InnoDBトランザクション,行単位のロック,外部キーが可能
CSVデータファイルにCSVを使用する
補助的なテーブルタイプMERGE同じ構造の複数のテーブル(MyISAMタイプ)を連結して1つのテーブルとする
HEAPメモリー上に作成されるテーブル。データベースの終了時に消滅する
Temporary接続ごとにユニークなテーブルとして作成される。他の接続からは参照できない。接続終了ととも消滅する
Blackholeダミーテーブルを使用する
Memoryメモリ上にテーブルを配置する
Archive圧縮したデータベースを使用する
Federatedリモートのデータベースを参照する
NDBクラスター構成にて使用される

MyISAM: Read は速いけどテーブルロックのため並行性が低い。運用が簡単。
InnoDB: MyISAM より Read は遅いけど並行性が高い 。行レベルロックなので。あとトランザクションや外部キー制約。運用が MyISAM よりちょっとめんどくさい。

MyISAM は参照系クエリが大部分を占める場合に適用すると良い。例えば blog アプリケーションとか。
InnoDB は更新系クエリが多い場合に適用すると良い。

show processlist

またMyISAMのテーブルのロック単位はテーブル単位で、InnoDBのテーブルはレコード単位です。

データベースを作るときに指定する。

create table テーブル名 (
カラム名 型

) type=InnoDB;


既存のデータベースのテーブルタイプを変更する。

alter table テーブル名 type=InnoDB;

InnoDBエンジンの開発元はOracle社に買収されています。


ぺんたん.info あかいひ.com IPくん.com 8枠.com - 競馬情報 galhime.com

PC Q&A|Linux|古い記事|雑学|ラーメン