電子書籍の厳選無料作品が豊富!

Windows環境でMySQL5.1.36のデータベースを使っています。
phpMyAdminで見るとストレージエンジンの種類が6つあります。
1) MEMORY
2) MyISAM
3) BLACKHOLE
4) MRG_MyISAM
5) CSV
6) ARCHIVE

私はInnoDBを良く使うのですがphpMyAdminではどのように設定するのでしょうか?


InnoDBもMySQLのパラメータでバッファを増やすと、MEMORYエンジンと同じように
高速でINSERTのSQLが実行できます。
それを考えると、InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、
なぜphpmyAdminでは6つのストレージエンジンがあるのでしょうか?
それぞれの存在意義が知りたいです。

A 回答 (4件)

>お答えいただいた内容からは有益な情報はありませんでした。



#2さんの言い方は問題かもしれませんが、返す言葉もどーしたもんかと思いますよ。
少なくとも#2には有益なヒントがふんだんにちりばめられています。

原則としてMySQLが市販RDBにひけをとらない・・・といわれた原動力は
ひとえにMyISAMエンジンの(制限のある)SQLによって担保された高速性だったわけです。
したがってMyISAMがMySQLの基本であるという意識をもたなくては
先にすすまないでしょう。
そのあたりはきちんとしたMySQLの解説書を買って読んでいれば
たいてい書いてあると思いますが・・・

入門書を買いたくないということであれば、以下の公式ページを
読むだけでも理解が深まると思います。

http://dev.mysql.com/doc/refman/5.1/ja/storage-e …

>なぜphpmyAdminでは6つのストレージエンジンがあるのでしょうか?

これは#2さんの指摘通りphpMyAdminの問題ではなく、MySQLの
設定環境の問題でしょう。
たとえば私の環境だと、「BerkeleryDB」も使えるようになっていますし、
古い環境だとMyISAMの原型となったISAMが選べたりします。

選べる理由は、歴史的背景によったり、機能拡張の中で必要になって
できたのもあるし、特殊なケースで必要になる国産の「Spiderエンジン」などもあります。

http://labs.unoh.net/2009/07/mysqlspider.html

それぞれのエンジンはそれに依存したアプリケーションの問題も
あるので必要であるものは分化したり拡張されたりして残っていますし、
時代遅れで過去の互換性として残っていて不要になったISAMなどは
5.1では使用不可になったりしています。
なにをもって「存在意義」としているのかによってことなりますが
いろいろエンジンが選べる理由の最大の理由の一つとしては、
MySQLとは別のプロジェクトで高速なストレージエンジンが開発された
ときに素早く対応できるというのが大きいと思います。

ただ、存在意義が理解できないことでこまることは少ないでしょうし
とりあえずInnoDBをつかっておけば、トランザクションやサブクエリや
ストアードプロシージャで苦労することもないので、初心者には
妥当かなぁとは思いますが・・・。
    • good
    • 0

>お答えいただいた内容からは有益な情報はありませんでした。


そう思っているならそれで結構。

>InnoDBからしか使ったことが無いので
でほかのは使わなかったの?
MySQLにおいてはMyISAMがデフォルトにされているエンジンなんだけどね。
それとも人が構築した環境でなにも疑わずにInnoDBを使い続けたの?

ではこちらから
SeletメインのシステムにおいてInnoDBを利用する意味を知りたい。
是非是非教えてください。

まともなMySQLの解説書読めば多くの場合、各エンジンの説明載っているはずだと思うんですけどね。
    • good
    • 0

>それぞれの存在意義が知りたいです。


存在意義もわかってないでInnoDB使っているのか?
トランザクションが必要なのか?

>InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、
なんかこんなこと書くレベルだとトランザクションの意味すら理解してなくて使っていそうだ。

>なぜphpmyAdminでは6つのストレージエンジンがあるのでしょうか?
Phpmyadinに6つあるのではなくて単純に選択できる一覧が有るだけだろ。

>それぞれの存在意義が知りたいです。
なにがなんでもアホの一つ覚えでトランザクションありのInnoDBを選ぶ理由を私は知りたいです。

この回答への補足

トランザクションは知っています。InnoDBからしか使ったことが無いので、その他のエンジンを使ったことがなかったので質問しました。

お答えいただいた内容からは有益な情報はありませんでした。

補足日時:2009/09/25 10:35
    • good
    • 0

>それを考えると、InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、



自分もInnoDBを使うことがほとんどです。
全てのテーブルタイプについて深い知識があるわけではないですが、
InnoDBが後からサポートされたテーブルタイプであり、
下位互換性を保つために残されているものも中にはあるんではないでしょうか。


このあたりは、やはり本家のサイトが詳しいですね。
参考URLを提示しておきます。

参考URL:http://dev.mysql.com/doc/refman/5.1/ja/storage-e …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!