MySQLデータベースでサポートされているストレージエンジンの比較

MySQLデータベースでサポートされているストレージエンジンの比較

ストレージエンジン

MySQL は、ストレージ エンジンと呼ばれるさまざまな手法を使用して、データをファイル (メモリ) に保存できます。
各ストレージ エンジンは、異なるストレージ メカニズム、インデックス作成手法、およびロック レベルを使用し、最終的にはさまざまな機能を提供します。

MySQL でサポートされているストレージ エンジン

マイISAM

翻訳

メモリ

CSVファイル

アーカイブ

同時実行制御

複数の接続でレコードが変更される場合でも、データの一貫性と整合性を確保します。

ロック

1. 共有ロック(読み取りロック):複数のユーザーが同じ期間に同じリソースを読み取ることができ、読み取りプロセス中にデータは変更されません。
2. 排他ロック (書き込みロック): 一度に 1 人のユーザーだけがリソースに書き込むことができます。書き込みロックを実行すると、他の読み取りロックまたは書き込みロック操作はブロックされます。

パーティクルをロックする

1. テーブル ロックは、オーバーヘッドが最も低いロック戦略です。
2. 行ロックは最もコストのかかるロック戦略です。

取引

トランザクションはデータベースの整合性を保証するために使用されます

ここに画像の説明を挿入

実装手順:
(1)当座預金口座から200元を減算する(口座残高が200元以上)。
(2)相手方の口座に200元を入金する。

外部キー

データの一貫性を確保するための戦略です。

索引

データテーブル内の 1 つ以上の列の値を並べ替えるための構造です。

各種ストレージエンジンの機能

メモリ: データはメモリに保存され、保存制限はメモリ サイズによって制限されます。
MyISAM: トランザクションがあまり多くない状況に適しています。
InnoDB: トランザクションが多く、外部キーのサポートが必要な状況に適しています。
インデックス: 通常のインデックス、一意のインデックス、フルテキスト インデックス、Btree インデックス、ハッシュ インデックス。

ここに画像の説明を挿入

MyISAM: ストレージ制限は 256 TB に達し、インデックス作成、テーブル レベルのロック、データ圧縮をサポートします。
InnoDB: ストレージ制限は 64 TB で、トランザクションとインデックスをサポートし、ロックの粒度は行ロックです。

ここに画像の説明を挿入

上記は、MySQL データベースでサポートされているストレージ エンジンの詳細な比較です。MySQL ストレージ エンジンの詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • MySQL テーブルタイプ ストレージエンジンの選択
  • MySQL データ分析ストレージエンジンの例の説明
  • MySQL のストレージ エンジンの違いと比較
  • 一般的なMySQLストレージエンジンの長所と短所
  • MySQLストレージエンジンについて学びましょう

<<:  レスポンシブWebデザイン学習(2) — 動画をレスポンシブにすることはできるのか?

>>:  CSS3でよく使われるスタイルの詳しい解説[基本的なテキストとフォントのスタイル]

推薦する

MySQL スローログ実践のまとめ

遅いログクエリ機能スロー ログ クエリの主な機能は、設定された時間しきい値を超える SQL ステート...

Vue ルーティングフォールバックに最適なソリューション (vue-route-manager)

目次ルーティングマネージャー背景はじめる問題を解決する方法要約するルーティングマネージャー各ジャンプ...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

docker compose サービスの起動順序を制御する方法

まとめDocker-compose は複数の Docker コンテナ サービスを簡単に組み合わせるこ...

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

MySQL 最適化のヒント: 重複削除の実装方法の分析 [数百万のデータ]

この記事では、MySQL 最適化のヒントで重複したエントリを削除する方法を例を使って説明します。ご参...

Centos8 に nginx1.9.1 をインストールする詳細な手順

1.17.9 本当はもっと美味しいNginx のダウンロード アドレス: https://nginx...

Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...

フロントエンドのパフォーマンス最適化を学習するための準備として、HTML ページのレンダリング プロセスを理解する (続き)

昨夜、ブラウザのレンダリングプロセスに関するエッセイを書きましたが、小さなコードで説明しただけでした...

ウェブ開発で遭遇した問題と経験

<br />以下は開発中に遭遇した問題と、そこから得た経験です。デバッグに時間がかかりま...

チェックボックスの選択またはキャンセルを実装するJavaScript

この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコード...

MySQLデータベーストリガーの詳細な説明

目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...

Linux Jenkins 構成スレーブノード実装プロセス図

序文: Jenkins のマスター スレーブ分散アーキテクチャは、主に、Jenkins に単一ポイン...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...