濃縮還元オレンジニュース

My SQLのエンジンはInnoDBとInnoDBのどちらを使うべきか?

この記事を読むのに必要な時間:およそ 0.5 分

『Linux-DBシステム構築/運用入門』⁠翔泳社)をはじめ,MySQLに関する書籍を数多く執筆している松信嘉範氏による記事です。Webアプリケーションで使われることの多いRDBMSであるMySQLでは,主にMyISAMとInnoDBの2つのエンジンから選択できます。MyISAMのほうが高速でInnoDBはトランザクションに対応している,という違いはよく聞きますが,記事では最新の状況を踏まえ箇条書きベースで簡潔にまとまっています。

InnoDBは,リカバリが簡単でMyISAMに比べて時間がかかりません。また,オンラインバックアップができるなど,障害対応の観点から見て勝っています。さらに,MyISAMはテーブルロックであるのに対してInnoDBは行レベルでロックを行うため,並列性が高いことが挙げられます。

それに対してMyISAMは,WHERE条件なしのSELECT COUNT(*)がとても速いことや,巨大なテーブルをフルスキャンする処理の効率が良いことなど,パフォーマンス系にメリットがあります。リカバリに対するデメリットは,スレーブを使うことで解消できると解決策も示しています。

また,MySQL5.1.38から含まれるようになった「InnoDB Plugin」についても言及しています。従来のInnoDBと比較してインデックスが高速に作成できる,テーブルやインデックスが圧縮できるなどいくつかの機能が強化されています。I/Oスレッドの多重化により,SSD(Solid State Drive,フラッシュドライブ)を利用した場合,大幅にパフォーマンスが向上するメリットもあります。記事では「特別な事情が無い限り」InnoDBPluginの利用を勧めています。

URLhttp://opendatabaselife.blogspot.com/2009/10/myisaminnodb.html

著者プロフィール

角田直行(かくだなおゆき)

普段はお仕事でPHPやJavaを使ってWeb開発をしています。一部でセレブエンジニアとか言われてますが,全然セレブじゃありません。

コメント

コメントの記入