MySQLサーバーは、大きく上位層と下位層に分かれる。
上位層は接続の受け付けやクエリの解析を行い、
下位層は上位層の要求に従って動作するストレージエンジンが置かれている。
実際にファイルの操作やデータの検索をする部分が、ストレージエンジンである。
MySQLでは数種類のストレージエンジンが用意されており、
テーブル単位でストレージエンジンを指定できる。
各テーブルは、指定のストレージエンジン形式で保存できる。
同一データベース内で、それぞれのテーブルがすべて違うストレージエンジンを使用することも
可能であり、ストレージエンジンの異なるテーブル同士をクエリで結合することも可能である。
このアーキテクチャにより、以下のメリットを得る
- 機能の拡張を行う場合、同じエンジンを変えていくと、バグの不安や互換性の問題が起こる。内部の実装が根本的に変わる場合にストレージエンジンを分けることで、これまでの安定したエンジンを使い続けられるようになり、バグや互換性の問題を切り離すことが出来る
- 特性の異なるストレージエンジンをTPOに合わせて選択することで、最適なパフォーマンスを得ることができる
サポートしているストレージエンジンを確認するためには、
mysql > SHOW ENGINES;
と叩けばよい。
以下ストレージエンジンの種類。
MEMORY
データおよびインデックスのすべてをメモリに収めるストレージエンジンである。mysqldを停止したり
コンピュータの電源を落とすとデータは消えるが、テーブルの定義は残る
MyISAM
MySQLで最も利用されているストレージエンジン。
MERGE
複数のMyISAMテーブルをひとつに見せかけることのできるストレージエンジン
P136より。
- 作者: 遠藤俊裕,坂井恵,館山聖司,鶴長鎮一,とみたまさひろ,班石悦夫,松信嘉範
- 出版社/メーカー: 翔泳社
- 発売日: 2011/08/26
- メディア: 大型本
- 購入: 9人 クリック: 82回
- この商品を含むブログ (7件) を見る