ホームページ  >  記事  >  データベース  >  mysql の一般的なストレージ エンジンは何ですか?

mysql の一般的なストレージ エンジンは何ですか?

王林
王林オリジナル
2020-06-24 15:17:234011ブラウズ

mysql の一般的なストレージ エンジンは次のとおりです: 1. InnoDB ストレージ エンジン、2. MyISAM ストレージ エンジン、3. MEMORY ストレージ エンジン。 MySQL 5.5 以降では、デフォルトで InnoDB ストレージ エンジンが使用されます。これには、ホット バックアップ、外部キーの関連付け、行レベルのロック、トランザクションなどの機能があります。

mysql の一般的なストレージ エンジンは何ですか?

#mysql の一般的なストレージ エンジンは次のとおりです:

(推奨チュートリアル:

mysql チュートリアル)

##1. InnoDB エンジン (MySQL 5.5 以降のデフォルトで使用)

MySQL 5.5 以降のバージョンのデフォルトのストレージ エンジンであり、その利点は次のとおりです:

    優れた災害復旧
  • トランザクションのサポート
  • 行レベルのロックの使用
  • サポート外部キーの関連付け
  • ホット バックアップのサポート
  • InnoDB エンジンのテーブルの場合、データの物理的な編成形式はクラスター テーブル (クラスター) です。 Table) では、主キーのインデックスとデータが一緒になっており、データは主キーの順に物理的に分散されてバッファ管理が実装されており、インデックスだけでなくデータもバッファリングし、自動的にハッシュ インデックスを作成して、データ取得の高速化
2. MyISAM エンジン

##特徴は次のとおりです:

#トランザクションをサポートしていません

  • テーブル レベルのロックを使用し、同時実行性が低い

  • ##ホストがダウンすると、MyISAM テーブルが簡単に損傷し、災害が発生します。リカバリは不十分です。

  • ロックを使用して使用でき、オペレーティング システムでのコピー バックアップと移行を実現します。

  • インデックスとデータのみをキャッシュします。キャッシュはオペレーティング システムのバッファを使用して実現されます。システムコールが多すぎて非効率になる可能性があります

  • #データはコンパクトに保存されるため、インデックスが小さくなり、フルテーブルスキャンのパフォーマンスが高速になります
  • 3. MEMORY ストレージ エンジン

    #特徴:

# メモリ テーブルを提供しますが、トランザクションと外部キーはサポートしません

テーブル レベルのロックを使用します。メモリ アクセスは高速ですが、読み取りと書き込みが頻繁に発生すると、テーブル レベルのロックがボトルネックになります。

  • 固定サイズの行のみをサポートします。 Varchar 型フィールドは固定長 Char 型として保存されるため、スペースが無駄になります。

  • TEXT フィールドと BLOB フィールドはサポートされていません。一部のクエリで一時テーブル (MEMORY ストレージ エンジンも使用) を使用する必要がある場合、テーブルに TEXT フィールドと BLOB フィールドがある場合、それらはディスクベースの MyISAM テーブルに変換され、パフォーマンスが大幅に低下します

  • メモリ リソースのコストが高価であるため、大きすぎるメモリ テーブルをセットアップすることは一般的に推奨されません。メモリ テーブルがいっぱいの場合は、データをクリアするかメモリ テーブル パラメータを調整することでエラーを回避できます。 .

  • サーバーを再起動します。データは後で失われるため、コピーして維持する場合は注意が必要です。

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

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