TOP
>
サーバ構築・運用
> ストレージエンジンはテーブル単位
徹底比較!! 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に参考情報が載っています。
Creating a new storage engine for MySQL
http://dev.mysql.com/tech-resources/articles/creating-new-storage-engine.html
まとめ
今回は、MySQLのストレージエンジンの概要を一通り解説しました。
次回以降は、毎回いくつかのストレージエンジンを取り上げ解説したいと思います。また、最終回には簡単な性能評価を行いたいと思いますので、ご期待ください。
前のページ
1
2
3
著者プロフィール
株式会社NTTデータ 藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。
INDEX
第1回:MySQLストレージエンジンの概要
はじめに
Pluggable Storage Engine Architecture
ストレージエンジンはテーブル単位