MyISAMとInnoDBの比較

MyISAM: MyISAMはデフォルトのストレージエンジンです(Mysql5.1より前)。各MyISAMはディスク上の3つのファイルに保存されます。各ファイルの名前はテーブルの名前で始まり、拡張子はファイルタイプを示します。

    .frmファイルストレージテーブルの定義
    ・MYD(MYData)ファイルストレージテーブルデータ
    .MYI(MYIndex)ファイルストレージテーブルインデックス

InnoDB: MySQLのデフォルトストレージエンジン。MySQLにトランザクションセキュリティ(トランザクション)、ロールバック(ロールバック)およびクラッシュリカバリ機能(クラッシュリカバリ機能)、マルチバージョン同時実行制御(マルチバージョン同時実行制御)トランザクションセキュリティ(トランザクション-安全な(ACID準拠)タイプテーブル。InnoDBは、行レベルのロック(行レベルでのロック)を提供します。これは、Oracleと同様のSELECTで非ロックの読み取りを提供します。

コントラスト:

  1. 行レベルのロックをサポートするかどうか:MyISAMにはテーブルレベルのロックしかありませんが、InnoDBは行レベルのロックとテーブルレベルのロックをサポートしています。デフォルトは行レベルのロックです。
  2. トランザクションおよびクラッシュ後の安全なリカバリをサポートするかどうか:MyISAMはパフォーマンスを重視し、各クエリはアトミックであり、その実行速度はInnoDBタイプより高速ですが、トランザクションサポートは提供していません。ただし、InnoDBはトランザクションを提供して、トランザクションや外部キーなどの高度なデータベース機能をサポートします。トランザクション、ロールバック、およびクラッシュリカバリ機能を備えたトランザクションセーフ(ACID準拠)タイプのテーブル。
  3. 外部キーをサポートするかどうか:InnoDBはサポートしていますが、MyISAMはサポートしていません。
  4. MVCCをサポートするかどうか:InnoDBのみがサポートします。MVCCは、単にロックよりも効率的であり、高い同時トランザクションに対応;のみMVCC  READ COMMITTED と REPEATABLE

おすすめ

転載: www.cnblogs.com/0error0warning/p/12679681.html