0

重複の可能性:
MyISAMとInnoDB

MySqlで最適なストレージエンジンはどれですか?InnoDbまたはMyIsam?

4

2 に答える 2

3

「最善」はありません。それは、あなた/あなたのアプリケーションが何を必要としているかによって異なります。

違いについては、リファレンス マニュアルを参照してください

InnoDB: ユーザー データを保護するためのコミット、ロールバック、およびクラッシュ リカバリ機能を備えた MySQL 用のトランザクション セーフ (ACID 準拠) ストレージ エンジン。InnoDB の行レベルのロック (粒度の粗いロックへのエスカレーションなし) と Oracle スタイルの一貫性のある非ロック読み取りにより、マルチユーザーの同時実行性とパフォーマンスが向上します。InnoDB は、クラスター化されたインデックスにユーザー データを格納して、主キーに基づく一般的なクエリの I/O を削減します。データの整合性を維持するために、 InnoDB は FOREIGN KEY 参照整合性制約もサポートしています。InnoDB は、MySQL 5.6 のデフォルトのストレージ エンジンです。

MyISAM: これらのテーブルのフットプリントは小さいです。テーブル レベルのロックは、読み取り/書き込みワークロードのパフォーマンスを制限するため、Web およびデータ ウェアハウス構成の読み取り専用または読み取りがほとんどのワークロードでよく使用されます。

于 2012-10-10T06:38:14.260 に答える
0

「ベスト」は多くのものに依存します:

MyISAMにはリレーション(外部​​キー)がありません。テーブル間の整合性を維持したい場合は、いくつかのトリガーをコーディングする必要がありますが、InnoDBでは「DELETEONCASCADE」などを使用できます。ただし、InnoDBは制約をチェックする必要があるため、移行中は低速になります。

詳細については、以下を簡単に確認できます。

http://www.devshed.com/c/a/MySQL/Comparison-of-MyISAM-and-InnoDB-MySQL-Databases-57392/

于 2012-10-10T06:41:02.123 に答える