![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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つのストレージエンジンがあるのでしょうか?
それぞれの存在意義が知りたいです。
No.3ベストアンサー
- 回答日時:
>お答えいただいた内容からは有益な情報はありませんでした。
#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をつかっておけば、トランザクションやサブクエリや
ストアードプロシージャで苦労することもないので、初心者には
妥当かなぁとは思いますが・・・。
No.4
- 回答日時:
>お答えいただいた内容からは有益な情報はありませんでした。
そう思っているならそれで結構。
>InnoDBからしか使ったことが無いので
でほかのは使わなかったの?
MySQLにおいてはMyISAMがデフォルトにされているエンジンなんだけどね。
それとも人が構築した環境でなにも疑わずにInnoDBを使い続けたの?
ではこちらから
SeletメインのシステムにおいてInnoDBを利用する意味を知りたい。
是非是非教えてください。
まともなMySQLの解説書読めば多くの場合、各エンジンの説明載っているはずだと思うんですけどね。
No.2
- 回答日時:
>それぞれの存在意義が知りたいです。
存在意義もわかってないでInnoDB使っているのか?
トランザクションが必要なのか?
>InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、
なんかこんなこと書くレベルだとトランザクションの意味すら理解してなくて使っていそうだ。
>なぜphpmyAdminでは6つのストレージエンジンがあるのでしょうか?
Phpmyadinに6つあるのではなくて単純に選択できる一覧が有るだけだろ。
>それぞれの存在意義が知りたいです。
なにがなんでもアホの一つ覚えでトランザクションありのInnoDBを選ぶ理由を私は知りたいです。
この回答への補足
トランザクションは知っています。InnoDBからしか使ったことが無いので、その他のエンジンを使ったことがなかったので質問しました。
お答えいただいた内容からは有益な情報はありませんでした。
No.1
- 回答日時:
>それを考えると、InnoDBだけ1個エンジンあれば良いと思ってしまうのですが、
自分もInnoDBを使うことがほとんどです。
全てのテーブルタイプについて深い知識があるわけではないですが、
InnoDBが後からサポートされたテーブルタイプであり、
下位互換性を保つために残されているものも中にはあるんではないでしょうか。
このあたりは、やはり本家のサイトが詳しいですね。
参考URLを提示しておきます。
参考URL:http://dev.mysql.com/doc/refman/5.1/ja/storage-e …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- 車検・修理・メンテナンス クルマのエンジンのコンディションと走行距離の関係について教えてください 5 2022/10/01 19:09
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- iPhone(アイフォーン) iphoneのicloud写真データ移動について 3 2022/11/28 18:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQL8にバージョンアップした...
-
AUTO_INCREMENTの抜け番
-
ロックテーブルサイズ超えのエ...
-
Accessでデータシートに同じデ...
-
SELECT 文の NULL列は?
-
一つ前に戻るには…
-
テーブル名をカラムとして取得...
-
sqlplusで表示が変なので、出力...
-
件数とデータを同時に取得する...
-
「テーブルに座って……」という...
-
マテリアライズドビューとスナ...
-
オーダーの覚え方について
-
update文で改行を入れる
-
特定のカラムが更新されたとき...
-
SQL、2つのテーブルで条件一致...
-
ROWNUMでUPDATEをしたいのです...
-
SQL*LoaderでCSVから指定した列...
-
PostgreSQLの断片化の状況を確...
-
テーブルリンク リンク元を知...
-
SQL 複数テーブルのupdate
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ロックテーブルサイズ超えのエ...
-
MySQL8にバージョンアップした...
-
AUTO_INCREMENTの抜け番
-
ロールバックが動作しない。
-
mysqlでCSVインポートでトラン...
-
MySQLのストレージエンジンの種...
-
mysqldumpのオプションについて
-
InnoDBとMYISAMとBDBの違い
-
SELECT実行中にINSERTしたい
-
Accessでデータシートに同じデ...
-
テーブル名をカラムとして取得...
-
SELECT 文の NULL列は?
-
SQL、2つのテーブルで条件一致...
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
update文で改行を入れる
-
男性と2人で飲食店に行きテーブ...
-
ROWNUMでUPDATEをしたいのです...
-
テーブルリンク リンク元を知...
-
一つ前に戻るには…
おすすめ情報