MySQLでよく使われる4つのストレージエンジンについて簡単に説明します。

MySQLでよく使われる4つのストレージエンジンについて簡単に説明します。

よく使われる4つのMySQLエンジンの紹介

(1):MyISAMストレージエンジン:

トランザクションや外部キーはサポートされていません。その利点は、アクセス速度が速いことです。トランザクションの整合性を必要としないアプリケーションや、選択と挿入が主なアプリケーションでは、基本的にこのエンジンを使用してテーブルを作成できます。

3つの異なるストレージ形式をサポート: 静的テーブル、動的テーブル、圧縮テーブル

静的テーブル: テーブル内のフィールドはすべて非可変長フィールドであるため、各レコードの長さは固定です。利点は、保存が非常に高速で、キャッシュが容易で、障害が発生した場合に簡単に回復できることです。欠点は、通常、動的テーブルよりも多くのスペースを占有することです (保存中に列幅の定義に従ってスペースが埋められるため)。PS: データを取得すると、フィールドの後のスペースはデフォルトで削除されます。注意しないと、データ自体のスペースも無視されます。

動的テーブル: レコードの長さは固定されていません。このストレージの利点は、比較的少ないスペースしか占有しないことです。欠点: データの頻繁な更新と削除により、簡単に断片化が発生する可能性があります。パフォーマンスを向上させるには、OPTIMIZE TABLE または myisamchk -r コマンドを定期的に実行する必要があります。

圧縮テーブル: 各レコードは個別に圧縮されるため、アクセスのオーバーヘッドはほとんどありません。

(2)InnoDBストレージエンジン*

ストレージ エンジンは、コミット、ロールバック、クラッシュ回復機能によりトランザクションの安全性を提供します。ただし、MyISAM エンジンと比較すると、書き込み処理の効率は低く、データとインデックスを保持するためにより多くのディスク領域が必要になります。
InnoDB ストレージ エンジンの機能: 自動拡張列と外部キー制約のサポート

(3)メモリストレージエンジン

メモリ ストレージ エンジンは、メモリ内に存在するコンテンツを使用してテーブルを作成します。各メモリ テーブルは実際には 1 つのディスク ファイルにのみ対応し、形式は .frm です。メモリ タイプのテーブルは、データがメモリに保存され、デフォルトで HASH インデックスを使用するため、アクセスが非常に高速ですが、サービスがシャットダウンされると、テーブル内のデータは失われます。
MEMORY ストレージ エンジンを持つテーブルでは、BTREE インデックスまたは HASH インデックスの使用を選択できます。2 つの異なるタイプのインデックスには、異なる使用範囲があります。

ハッシュインデックスの利点:
ハッシュ インデックスの特殊な構造により、検索効率が非常に高くなります。ルート ノードからブランチ ノード、そして最終的にページ ノードまで複数の IO アクセスを必要とする B ツリー インデックスとは異なり、インデックス検索は 1 回で済みます。そのため、ハッシュ インデックスのクエリ効率は B ツリー インデックスよりもはるかに高くなります。
ハッシュ インデックスの欠点: 不正確な検索はどうでしょうか? これも明らかです。ハッシュ アルゴリズムは等しい値の計算に基づいているため、ハッシュ インデックスは無効であり、「like」などの範囲検索をサポートしていません。

メモリ型ストレージ エンジンは、主に内容が頻繁に変更されないコード テーブルや、統計演算の中間結果テーブルとして使用され、中間結果を効率的に分析して最終的な統計結果を取得します。ストレージ エンジンがメモリであるテーブルを更新する場合は、データが実際にはディスクに書き込まれないため、サービスの次回の再起動後に変更されたデータを取得する方法を考慮する必要があるため注意が必要です。

(4)MERGEストレージエンジン

Merge ストレージ エンジンは、MyISAM テーブルのグループの組み合わせです。これらの MyISAM テーブルは、まったく同じ構造を持つ必要があります。マージ テーブル自体にはデータは含まれません。マージ タイプのテーブルは、クエリ、更新、および削除できます。これらの操作は、実際には内部の MyISAM テーブルで実行されます。

上記は、編集者が紹介したMySQLでよく使用される4つのストレージエンジンの詳細な説明と統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQLのストレージエンジンの詳細な説明
  • MySQL共通ストレージエンジンの機能と使用方法の詳細な説明
  • MySQL データ分析ストレージエンジンの例の説明

<<:  Linux デバイスに空き容量がありません inode の満杯により 500 エラーが発生します

>>:  Nginx 500 内部サーバーエラーの解決方法

推薦する

CSS3を使用してトランジションとアニメーション効果を実現する

JS アニメーションの代わりに CSS アニメーションを使用する必要があるのはなぜですか? Java...

vsftp を使用して Linux で FTP サーバーを構築する (パラメータの説明付き)

導入この章では、主に Linux で FTP サーバーを構築するプロセスを紹介します。習得すべき重要...

Dockerはmysqldumpコマンドを使用してプロジェクト内のmysqlデータをバックアップおよびエクスポートします。

mysqldump コマンドはじめに: データベースバックアッププログラム形式: mysqldum...

要素 UI に基づいてクエリ コンポーネントを段階的にカプセル化する方法

目次関数基本的なクエリ関数クエリ条件の初期化ページのレンダリングクエリと表示の最適化をさらに強化プル...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

Vueのコンポーネントのprops属性について詳しく説明します

目次質問1: 小道具は具体的にどのように使用されますか?原理は何ですか?下を見る質問 2: 年齢に ...

Vueでeslintを使用する方法の詳細な説明

目次1. 説明2. 関連する依存パッケージをダウンロードする3. 設定ファイル .eslintrc....

Alibaba Cloud Server Ubuntu 上の Workbench が MySQL に接続できない問題の解決策 (テスト済み)

過去 2 日間、ワークベンチが Alibaba Cloud Server に接続できない問題を解決す...

CSSブロッキングマージとその他の効果についての簡単な説明

非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...

Nginx キャッシュ ファイルと動的ファイルの自動バランス設定スクリプト

nginx Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバー...

JavaScript は 3 つの一般的な Web 効果 (オフセット、クライアント、スクロール シリーズ) を実装します。

目次1. 要素オフセットシリーズ2. 要素表示領域クライアントシリーズ3. 要素スクロールシリーズ1...

Intelli Idea で Tomcat 設定が見つからない問題の解決方法

2日前に新しい会社に入社しました。その会社ではIntelli Ideaを使っています。Eclipse...

javascript 入力画像のアップロードとプレビュー、FileReader プレビュー画像

FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画...

MySQL 5.7 データベースのインストール手順の個人的な要約

1.mysql-5.7.19-winx64.zip(これは無料のインストールバージョンで、約318 ...