誰かがJoomlaで理由を説明できますか! 3.0.1 MySQL のインストール SQL スクリプトはENGINE=InnoDBを使用!?! 何か特別な理由が!??!?
2 に答える
MySQL データベースのテーブル ストレージ エンジンの 2 つの主要なタイプは、InnoDB と MyISAM です。機能や性能の違いをまとめると、
InnoDB は新しく、MyISAM は古いです。
InnoDB はより複雑ですが、MyISAM はより単純です。
MyISAM が緩いのに対し、InnoDB はデータの整合性においてより厳密です。
InnoDB は挿入と更新のために行レベル ロックを実装し、MyISAM はテーブル レベル ロックを実装します。
InnoDB にはトランザクションがありますが、MyISAM にはありません。
InnoDB には外部キーと関係制約がありますが、MyISAM にはありません。
InnoDB はより優れたクラッシュ回復機能を備えていますが、MyISAM はシステム クラッシュ時のデータ整合性の回復が不十分です。
MyISAM には全文検索インデックスがありますが、InnoDB にはありません。
これらの違いに照らして、InnoDB と MyISAM には、互いに独自の長所と短所があります。それらはそれぞれ、他のシナリオよりもいくつかのシナリオに適しています。
InnoDB の利点
InnoDB は、データの整合性が優先される場合に使用する必要があります。これは、本質的に関係の制約とトランザクションの助けを借りてデータの整合性を処理するためです。
行レベルのロックを利用し、挿入または更新されている同じ行への変更のみを保持するため、書き込みが集中する (挿入、更新) テーブルで高速になります。
InnoDB の短所
InnoDB はテーブル間のさまざまな関係を処理する必要があるため、データベース管理者とスキームの作成者は、MyISAM よりも複雑なデータ モデルの設計により多くの時間を費やす必要があります。
RAM などのシステム リソースをより多く消費します。実際のところ、MySQL のインストール後に InnoDB エンジンが実質的に必要ない場合は、InnoDB エンジンをオフにすることをお勧めします。
全文索引はありません。
MyISAM の利点
設計と作成がより簡単で、初心者に適しています。テーブル間の外部関係について心配する必要はありません。
構造が単純なため、全体として InnoDB よりも高速であり、サーバー リソースのコストが大幅に削減されます。
全文索引作成。
読み取りが集中する (選択) テーブルに特に適しています。
MyISAM の短所
データの整合性 (関係の制約など) のチェックがないため、データベース管理者とアプリケーション開発者の責任とオーバーヘッドが発生します。
銀行などの重要なデータ アプリケーションに不可欠なトランザクションをサポートしていません。
テーブル全体が挿入または更新のためにロックされるため、頻繁に挿入または更新されるテーブルでは InnoDB よりも遅くなります。
比較は非常に簡単です。
InnoDB は、頻繁な挿入と更新が必要なデータ クリティカルな状況により適しています。
一方、MyISAM は、データの整合性にあまり依存せず、ほとんどがデータを選択して表示するだけのアプリケーションでパフォーマンスが向上します。