ホームページ >データベース >mysql チュートリアル >MySQL で一般的に使用されるストレージ エンジンは何ですか?

MySQL で一般的に使用されるストレージ エンジンは何ですか?

清浅
清浅オリジナル
2019-05-07 16:50:1528958ブラウズ

MySql のストレージ エンジンは次のとおりです: 1. MyISAM エンジン、2. MyISAM マージ エンジン、3. InnoDB エンジン、4. メモリ エンジン、5. アーカイブ エンジン。

MySQL で一般的に使用されるストレージ エンジンは何ですか?

#MySql のストレージ エンジン

#1.MyISAM エンジン #このエンジンは mysql によって提供された最も古いエンジンであり、静的 MyISAM、動的 MyISAM、圧縮 MyISAM の 3 種類に分類できます:

(1) 静的 MyISAM: データ テーブルの各データ列の長さこれらはすべて事前に固定されており、サーバーはこのテーブル タイプを自動的に選択します。データ テーブル内の各レコードは同じ領域を占有するため、テーブルのアクセスと更新の効率が非常に高くなります。データが破損した場合でも、回復が容易になります。

(2) 動的 MyISAM: varchar、xxxtext、または xxxBLOB フィールドがデータ テーブルに表示される場合、サーバーはこのテーブル タイプを自動的に選択します。静的 MyISAM と比較すると、この種のテーブルの記憶領域は比較的小さいですが、各レコードの長さが異なるため、データが複数回変更された後、データ テーブル内のデータがメモリ内に個別に格納される可能性があります。ひいては実行効率の低下につながります。同時に、メモリ内に多くの断片化が発生する可能性もあります。したがって、このタイプのテーブルは、多くの場合、optimize table コマンドまたは最適化ツールを使用して最適化する必要があります。

(3) MyISAM の圧縮: 上記の両方のタイプのテーブルは、myisamchk ツールを使用して圧縮できます。このタイプのテーブルはストレージの占有領域をさらに削減しますが、このタイプのテーブルは圧縮後に変更できません。また、この種のテーブルは圧縮データであるため、読み込む際には解凍する必要があります。

ただし、MyISAM テーブルの種類に関係なく、現時点ではトランザクション、行レベルのロック、外部キー制約はサポートされていません。

2. MyISAM マージ エンジン

このタイプは、MyISAM タイプのバリアントです。テーブルの結合とは、複数の同一の MyISAM テーブルを 1 つの仮想テーブルに結合することです。ログやデータ ウェアハウスでよく使用されます。

3. InnoDB エンジン

InnoDB テーブル タイプは、MyISAM をさらに更新した製品とみなすことができ、トランザクション、行レベルのロック メカニズム、および外部キー制約を提供します。 。 関数。

4. メモリ (ヒープ) エンジン

このタイプのデータ テーブルはメモリ内にのみ存在します。ハッシュ インデックスを使用するため、データ アクセスは非常に高速です。この型はメモリ内に存在するため、一時テーブルでよく使用されます。

5. アーカイブ エンジン

このタイプは、select ステートメントと insert ステートメントのみをサポートし、インデックスはサポートしません。ロギングや集計分析でよく使用されます。

以上がMySQL で一般的に使用されるストレージ エンジンは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。