TOPサーバ構築・運用> ストレージエンジンはテーブル単位
徹底比較!! MySQLエンジン
徹底比較!! MySQLエンジン

第1回:MySQLストレージエンジンの概要
著者:NTTデータ  藤塚 勤也   2006/8/1
前のページ  1  2  3
ストレージエンジンはテーブル単位

   MySQLのストレージエンジンは、テーブル単位で指定することができます。具体的には、CREATE TABLE文にてテーブルを作成する時にENGINE句(古いMySQLのバージョンではTYPE句を使用)にて、使用したいストレージエンジン名を指定します。また、1度作成したテーブルをALTER TABLE文によってストレージエンジンを変更することもできます。図2にCREATE TABLE文とALTER TABLE文の例を示します。
ストレージエンジンの指定方法
図2:ストレージエンジンの指定方法

   ストレージエンジンの種類はテーブル単位で決まるので、当然同一データベース内にストレージエンジンの異なる複数のテーブルを作成することができます。さらに、ストレージエンジンの異なるテーブル同士を結合(JOIN)することも可能なのです。


あるデータベースの例

   例えば、取り引きというデータベースがあり、この中に月別の取り引きログテーブルと顧客テーブルがあるとします。それぞれのテーブルが異なったストレージエンジンを使用している様子を図3に示しています。

異なるストレージエンジンのテーブル
図3:異なるストレージエンジンのテーブル

   もちろん、顧客テーブルと最新月の取引ログテーブルはJOIN検索をすることができます。このように、用途に応じてテーブルごとにストレージエンジンを選択して使用することができます。


ストレージエンジンの作成

   MySQLのストレージエンジンは、与えられたものを使用するだけでなく、独自のストレージエンジンを作成することができます。独自のストレージエンジンを作成する際に参考にするものとして、Exampleというストレージエンジンもあります。この辺は、MySQLがオープンソースであるがゆえの特長ではないでしょうか。

   とはいえ、独自のストレージエンジンを作成することはなかなか敷居が高いと思いますが、機会があったら挑戦して見て下さい。英語ですが、以下のURLに参考情報が載っています。



まとめ

   今回は、MySQLのストレージエンジンの概要を一通り解説しました。

   次回以降は、毎回いくつかのストレージエンジンを取り上げ解説したいと思います。また、最終回には簡単な性能評価を行いたいと思いますので、ご期待ください。

前のページ  1  2  3


株式会社NTTデータ  藤塚 勤也
著者プロフィール
株式会社NTTデータ   藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。

INDEX
第1回:MySQLストレージエンジンの概要
  はじめに
  Pluggable Storage Engine Architecture
ストレージエンジンはテーブル単位