【MySQL】MyISAM と InnoDBの違いについてのお話

2021.05.19

記事画像
みなさん、こんにちは 今日はMyISAM と InnoDBの違いについて話していこうと思います。 ◆ ストレージエンジンについて みなさんはストレージエンジンについてご存知でしょうか??ストレージエンジンとは、テーブルにデータを書き込んだり読み出したりする部分を担っているプログラムのことで、代表的なストレージエンジンにはMyISAM と InnoDBというものがあります。 ◆ MyISAM と InnoDBのメリットデメリット ・MyISAM メリット…シンプル、高速に動作、フルテキスト検索に対応、大容量テーブルに向いている。 デメリット…トランザクションや外部キー制約をサポートしない、REPAIR TABLEで修正できることが多いがクラッシュ時に使えなくなる、テーブルレベルでロックをかけるという点でロックの粒度が荒い(他人がデータを更新している間はそのテーブルにアクセスができなくなる) ・InnoDB メリット…トランザクションをサポート、外部キー制約が装備されている、クラッシュ時のリカバリに対応、列レベルでロックを実施 デメリット…フルテキスト検索ができない、パフォーマンスが悪い 複数人で一つのテーブルに更新をかける場合や整合性を求められる場合はInnoDB、logデータなどすぐに参照しなかったり、大容量のものはMyISAMのストレージエンジンが向いてる感じですかね。 ちなみにテーブル毎にストレージエンジンが選択できるようになっています。 何もなければInnoDBにしておくのが無難ではないでしょうか??

この記事を書いた人

高橋 希望

入社10年目の元不動産営業、現ゲームエンジニア 得意言語はphp,javascript,python,elixirなど