【MySQL】MyISAM と InnoDBの違いについてのお話
2021.05.19
みなさん、こんにちは
今日はMyISAM と InnoDBの違いについて話していこうと思います。
◆ ストレージエンジンについて
みなさんはストレージエンジンについてご存知でしょうか??ストレージエンジンとは、テーブルにデータを書き込んだり読み出したりする部分を担っているプログラムのことで、代表的なストレージエンジンにはMyISAM と InnoDBというものがあります。
◆ MyISAM と InnoDBのメリットデメリット
・MyISAM
メリット…シンプル、高速に動作、フルテキスト検索に対応、大容量テーブルに向いている。
デメリット…トランザクションや外部キー制約をサポートしない、REPAIR TABLEで修正できることが多いがクラッシュ時に使えなくなる、テーブルレベルでロックをかけるという点でロックの粒度が荒い(他人がデータを更新している間はそのテーブルにアクセスができなくなる)
・InnoDB
メリット…トランザクションをサポート、外部キー制約が装備されている、クラッシュ時のリカバリに対応、列レベルでロックを実施
デメリット…フルテキスト検索ができない、パフォーマンスが悪い
複数人で一つのテーブルに更新をかける場合や整合性を求められる場合はInnoDB、logデータなどすぐに参照しなかったり、大容量のものはMyISAMのストレージエンジンが向いてる感じですかね。
ちなみにテーブル毎にストレージエンジンが選択できるようになっています。
何もなければInnoDBにしておくのが無難ではないでしょうか??
--------------------------------------------------
社員を募集しております!
type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日
社員のゲーム実況チャンネル
$fugaのゲーム実況
社員を募集しております!
type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日
社員のゲーム実況チャンネル
$fugaのゲーム実況