2010年09月05日

MySQLのMEMORYストレージエンジン

MySQLの情報スキーマ(INFORMATION_SCHEMA)を調べていたら、ストレージエンジンにMEMORYという表示を見つけました。MyISAM、InnoDBは使ったことがありますが、MEMORYは使ったことがないので、ちょっと調べてみました。


ちなみに家のMySQLでは以下の4つのストレートエンジンが使われていました。ただし、MEMORYはMySQLのシステム関係で、CSVはログで使っているようです。
mysql> select engine from information_schema.tables group by engine;
+--------+
| engine |
+--------+
| CSV |
| InnoDB |
| MEMORY |
| MyISAM |
+--------+
4 rows in set (0.03 sec)

5.1のマニュアルを見てみると以下のストレージエンジンがありました。
参照 第13章 ストレージエンジンとテーブルタイプ
・MyISAM
・InnoDB
・MERGE
・MEMORY(HEAP)
・EXAMPLE
・FEDERATED
・ARCHIVE
・CSV
・BLACKHOLE

面白そうなのはMEMORYでしょうか。名前の通りメモリ上にのみ保存されるものです。ちょっと調べてみると2008年のBlogで、MEMORYはMyISAM、InnoDBに次いで3番目に利用されているとなっていました。ただし、上位2つに比べて利用率が非常に少ないですが。
参考 ・[MySQL][勉強会]MySQLウィークリーセミナーに参加(ストレージエンジン徹底比較編)
各ストレージエンジンの利用状況
・MyISAM:70%
・InnoDB:60%
・MEMORY:10%
・他:5%以下

またストレージエンジンのスピードを比較していた記事がありましたが、MEMORYがMyISAMと比べてほんの少しだけ速いという結果が出ていました。なぜほとんど差が無いのか不思議です。
徹底比較!! MySQLエンジン 第6回:ストレージエンジンの処理性能比較

memcachedと機能や性能を比べた結果が知りたいところです。
posted by jun1 at 23:17| Comment(0) | TrackBack(0) | データベース
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/40555604

この記事へのトラックバック