読者です 読者をやめる 読者になる 読者になる

MySQLのストレージエンジンについて【後編】

はじめに

今回の記事ではストレージエンジンの

について書いていきたいと思います。

また前編は以下になります。
MySQLのストレージエンジンについて【前編】 - 初心者のインフラ・Web系メモ書き日記

InnoDBエンジン

InnoDBはMySQL5.5以降でののデフルトのストレージエンジンになっています。
InnoDBの特徴は以下になります。

InnoDBのロック粒度は対象のレコードに対してのみロックを行います。
なので、同じテーブルであっても異なるレコードであれば同時にリクエストの処理が可能となっています。
またトランザクションをサポートいるといった特徴があります。

MyISAMエンジン

MyISAMはMySQL5.5より前まではデフルトのストレージエンジンでした。(現在はInnoDB)
MyISAMの特徴は以下になります。

MyISAMのロック粒度はテーブル単位なのでInnoDBとは違い同じテーブルのクエリ(レコードは異なる)を同時に実行することができません。
そのかわりにPCの負荷はMyISAMのほうが小さいようです。
またトランザクションをサポートしていないため複数の作業をまとめたい場合などはMyISAMよりInnoDBを用いたほうがよいようです。
MyISAMの使用はトランザクショナルでもクラッシュセーフでもない場合で読み取り専用のデータが必要な場合、あるいはテーブルがそれほど大きくなく修復が大変でない場合に検討してみるとよいでしょう。

まとめ

今回の記事では

について書きました。
基本的にはInnoDBエンジンを使用していたらよいのではないかと思います。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

この記事はほぼサーバなどを触ったことがない人物が学んだことを整理するために書いていますので間違いなどが多々あると思います。間違いなどありましたら是非コメントなどで教えていただけると幸いです。