sql >> データベース >  >> RDS >> Mysql

MyISAMとInnoDBをいつ使用するのですか?

    ストレージエンジンについて読む

    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テーブルを修復することはできません

    簡単に理解するには、以下のリンクをお読みください:

    1. MySQLエンジン:InnoDBとMyISAM –長所と短所の比較
    2. MySQLエンジン:MyISAMとInnoDB
    3. InnoDBとMyISAMの主な違いは何ですか?
    4. MyISAMとInnoDB
    5. MyISAMとInnoDBの違いは何ですか?
    6. MySql:MyISAMとInno DB!


    1. 認証タイプ10がサポートされていないため、PostgresDBに接続できません

    2. フォームウィザードを使用してフォームを作成する方法

    3. PostgreSQLストリーミングレプリケーション入門

    4. 同じアクセス方法でデッドロックが発生する可能性はありますか?