■innnoDB,MyISam

mysqlプロンプトで「show engines」ですべてのエンジンが見れる

mysqlのテーブルのストレージエンジンの代表格はInnnoDBとMyISAMの二つ。使い方によってパフォーマンスの違いがでてくるようなので色々考える必要がある。。また、パフォーマンスだけじゃなくてMyISAMだとトランザクションが組めないとかできる事できない事があるので要注意。

パフォーマンスに関してだけど、他サイトを見たら一概にはいえなそう。パフォテストは必要。

refs
MySQLのMyISAMとInnoDBパフォーマンス比較 テーブルロック vs 行レベルロック
MyISAMとInnoDBのどちらを使うべきか

・テーブルエンジンの確認は以下のコマンドでできる。
mysql> show table status;
・テーブルを指定
mysql> show table status like 'hoge_table'\G
・create文を見れる
mysql> show create table hoge_table\G

・foreignKey(外部キー)を使用する場合、両方innoDBである必要がある。

■ロック
refs
データベースの行ロックとテーブルロック
Mysql: lockの確認とプロセスの削除
⇒コマンドで確認
6.3.1. MySQL のテーブルロック方法(mysql5.1マニュアル)


refs
MySQLのディレクトリ構造、MyISAMのファイル名、innoDBの特徴

■参考
MySQLでトランザクションができない時の対処法(InnoDB)
徹底比較!! MySQLエンジン
更新があるシステムにはInnoDBを選ぼう。MyISAMを選択するならそれなりの理由が必要。それにInnoDBのパフォーマンスはそんなに悪くないよ。