MyISAM:
MyISAM MySQLのストレージエンジン。
- 設計と作成が簡単なので、初心者に適しています。テーブル間の外部関係について心配する必要はありません。
- 構造が単純なため、全体としてInnoDBよりも高速であるため、サーバーリソースのコストが大幅に削減されます。 -ほとんど真実ではありません。
- フルテキストインデックス。 --InnoDBには現在それがあります
- 特に読み取り中心の(選択)テーブルに適しています。 -ほとんど真実ではありません。
- ディスクフットプリントは、InnoDBの2倍から3分の1です。 --バージョン5.7の時点で、これがMyISAMの唯一の本当の利点です。
InnoDB:
InnoDB MySQLのストレージエンジン。
- トランザクションのサポート(ACID のサポートを提供します プロパティ)。
- 行レベルのロック。よりきめ細かいロックメカニズムを使用すると、たとえば MyISAM 。
- 外部キーの制約。データベースにデータベースの状態の整合性とテーブル間の関係を保証させることができます。
- InnoDBは、MyISAMよりもテーブルの破損に対して耐性があります。
- データとインデックスの両方の大規模なバッファプールのサポート。 MyISAMキーバッファはインデックス専用です。
- MyISAMは停滞しています。今後のすべての拡張機能はInnoDBに含まれる予定です。これは、バージョン8.0のロールアウトで十分に明確になりました。
MyISAMの制限:
- 外部キーおよびカスケード削除/更新はありません
- トランザクションの整合性なし(ACID準拠)
- ロールバック機能はありません
- 4,284,867,296行制限(2 ^ 32)-これは古いデフォルト 。構成可能な制限(多くのバージョン)は2**56バイトです。
- テーブルあたり最大64個のインデックス
InnoDBの制限:
- フルテキストインデックスなし(以下-5.6 mysqlバージョン)
- 高速で読み取り専用に圧縮することはできません(5.5.14で導入された
ROW_FORMAT=COMPRESSED
) - InnoDBテーブルを修復することはできません
簡単に理解するには、以下のリンクをお読みください:
- MySQLエンジン:InnoDBとMyISAM –長所と短所の比較
- MySQLエンジン:MyISAMとInnoDB
- InnoDBとMyISAMの主な違いは何ですか?
- MyISAMとInnoDB
- MyISAMとInnoDBの違いは何ですか?
- MySql:MyISAMとInno DB!