MySQLテーブルエンジン
MySQL の強みは、プラグイン ストレージ エンジンにあり、テーブルの特性に基づいてさまざまなストレージ エンジンを使用して、最高のパフォーマンスを実現できます。
十分な知識があり、一定の実務経験がある場合。 Alibaba と NetEase がオープンソース化した MySQL エンジンを独自のサーバーで使用することもできます。
テーブルを作成するためのステートメントについては、次のセクション「データベース構造定義ステートメント」で学習できます。 mysql がテーブルを作成するときに、対応するエンジンを指定できます。
mysql コマンドで使用します:
show Engines;
現在のサーバーでサポートされているすべてのエンジンを表示します。
一般的に使用されるエンジンをいくつか紹介し、あまり使用されないエンジンについて学びます。今後、概念を理解していないエンジンが実際の作業で使用されることは避けてください。
エンジン名 | Special |
---|---|
MyISAM | が一般的に使用されます。読み取り効率の高いエンジン |
InnoDB | がよく使われます。ライティング、サポートオフィスなどはすべて |
アーカイブ | をサポートしています。一般的には使用されません。アーカイブ エンジン、圧縮率は最大 1:10、データのアーカイブに使用されます |
NDB | は一般的には使用されません。主に MySQL クラスター サーバーで使用されます。紹介はありません |
MyISAM
は、トランザクション、テーブル ロック (テーブル レベルのロック、ロックはテーブル全体をロックします) をサポートせず、フルテキスト インデックスをサポートし、動作速度が高速です。読書量が多いビジネスでよく使用されます。
- myisam ストレージ エンジン テーブルは、myd と myi で構成されます。 .myd はデータ ファイルの保存に使用され、.myi はインデックス ファイルの保存に使用されます。
- myisam ストレージ エンジン テーブルの場合、mysql データベースはインデックス ファイルのみをキャッシュし、データ ファイルのキャッシュはオペレーティング システム自体によって完了します。
InnoDB
- は、主にオンライン トランザクション処理 (OLTP) アプリケーションのトランザクションをサポートします。
- 行ロック設計は外部キーをサポートしています。つまり、読み取り操作はデフォルトではロックされません。
InnoDB は、大量のデータを処理するときに最大のパフォーマンスが得られるように設計されています。
注:
行ロック: 書き込みおよび更新操作中にこの行をロックして、他のユーザーが操作できないようにします。
テーブルロック: 書き込みおよび更新操作中、テーブルは他の人が操作できないようにロックされます。
トランザクション: データ操作の 1 つが失敗した場合に、複数のデータを同時に操作します。操作前にロールバックできます。銀行、電子商取引、金融、その他のシステムで一般的に使用されます。