MYSQL 3つのストレージエンジン

1. InnoDBストレージエンジン

InnoDBは、MySQLテーブルにトランザクション処理ロールバッククラッシュ修復機能、およびマルチバージョン同時実行制御トランザクションセキュリティを提供します3.23.34a以降のMySQLにInnnoDBを含めます。これは、外部キー制約を提供するMySQLの最初のテーブルエンジンです。また、トランザクションを処理するInnoDBの機能は、他のストレージエンジンにも匹敵しません。MySQLの新しいバージョンのデフォルトのストレージエンジンはInnoDBです。

InnoDBストレージエンジンは常にAUTO_INCREMENTをサポートします自動インクリメント列の値は空にできません。値は一意である必要があります。MySQLは、自己インクリメントカラムが主キーでなければならないことを指定しています。値を挿入するときに、自動インクリメント列に値が入力されない場合、挿入される値は自動インクリメントされた値です。入力された値が0またはNULLの場合、挿入された値も自動インクリメントされた値です。特定の値、および以前に表示されていない値を直接挿入できます。

InnoDBは外部キー(FOREIGN KEY)もサポートしています外部キーが配置されているテーブルは子テーブルと呼ばれ、外部キーが依存するテーブル(REFERENCES)は親テーブルと呼ばれます。単語テーブルの外部キーに関連する親テーブルのフィールドは、主キーでなければなりません。親テーブルの情報を削除または更新する場合、それに応じて子テーブルも変更する必要がありますこれは、データベースの参照整合性ルールです

InnoDBでは、作成されたテーブルのテーブル構造は.frm ファイルに格納されます(フレームの省略形だと思います)。データとインデックスは、innodb_data_home_dirおよびinnodb_data_file_pathで定義されたテーブルスペースに格納されます。

InnoDBの利点は、優れたトランザクション処理、クラッシュ修復機能、同時実行制御を提供することです。欠点は、読み取りと書き込みの効率が低く、占有されるデータ領域が比較的大きいことです。

2. MyISAMストレージエンジン

MyISAMはMySQLの一般的なストレージエンジンであり、MySQLのデフォルトのストレージエンジンでした。MyISAMはISAMエンジンに基づいて開発され、多くの便利な拡張機能が追加されています。

MyISAMテーブルは3つのファイルとして格納されます。ファイル名はテーブル名と同じです。名前の展開FRM MYD MYI 実際には、frmファイルストレージテーブルの構造、MYDファイルストレージデータはMYDataの省略形、MYIファイルストレージインデックスはMYIndexの省略形です。

MyISAMストレージエンジンに基づくテーブルは、3つの異なるストレージフォーマットをサポートしています。静的タイプ、動的タイプ、圧縮タイプを含みます。その中でも、静的タイプはMyISAMのデフォルトのストレージ形式であり、そのフィールドは固定長です。動的タイプには可変長フィールドが含まれ、レコード長は固定されていません。圧縮タイプでは、ディスク容量を節約するmyisampackツールを使用する必要があります。

MyISAMの利点は、設置面積が小さく、処理速度が速いことです。欠点は、トランザクションの整合性と同時実行性をサポートしないことです。

3. MEMORYストレージエンジン

MEMORYは、MySQLの特殊なタイプのストレージエンジンです。メモリに格納されたコンテンツを使用してテーブルを作成し、データはすべてメモリに配置されますこれらの特性は、前の2つとは大きく異なります。

MEMORYストレージエンジンに基づく各テーブルは、実際にはディスクファイルに対応しています。ファイルのファイル名はテーブル名と同じで、タイプはfrm タイプです。このファイルには、テーブルの構造のみが保存されます。データファイルはメモリに格納されます。これは、データの迅速な処理に役立ち、テーブル全体の効率を向上させます。MEMORYストレージエンジンのテーブルの使用を維持するには、サーバーに十分なメモリが必要であることに注意してください。不要になった場合は、メモリを解放し、不要なテーブルを削除することもできます。

MEMORYはデフォルトでハッシュインデックスを使用します。Bツリーインデックスを使用するよりも高速です。もちろん、Bタイプのツリーインデックスを使用する場合は、インデックスの作成時に指定できます。

MEMORYは、データをメモリに格納するために使用されることはほとんどありません。メモリに異常があると、データに影響を及ぼします。再起動またはシャットダウンすると、すべてのデータが消えます。したがって、MEMORYに基づくテーブルのライフサイクルは非常に短く、通常は1回限りです。

(参照:https//www.cnblogs.com/icebutterfly/p/9553929.html     )

 

おすすめ

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