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 内部サーバーエラーの解決方法

推薦する

HTML 5 ワーキングドラフトの謎を解く

World Wide Web Consortium (W3C) は、HTML 5 仕様のドラフトをリ...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

Uniapp WeChatアプレット: キー障害の解決策

ユニアプリコード <テンプレート> <表示> <image v-for...

シンプルなドラッグ効果を実現するJavaScript

この記事では、ドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します...

mysql ローカルログインでポート番号を使用してログインできない問題の解決策

最近、Linux を使用してローカルにログインしていたところ、正常にログインできず、次のエラー メッ...

Dockerに証明書を追加する方法

1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...

vue3ソースコード解析の簡単な実装方法

目次序文🍹準備🍲vue3 の使い方🍖 実装要約する序文最近、私の最初の公式 vue3 + ts プロ...

MySQL インデックスの長所と短所、およびインデックス作成のガイドライン

1. インデックスを作成する理由(メリット)インデックスを作成するとシステムのパフォーマンスが大幅に...

Vueはマーキースタイルのテキストの水平スクロールを実装します

この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...

MySql における特殊演算子の使用の概要

序文MySQL には次の 4 種類の演算子があります。算術演算子比較演算子論理演算子ビット演算子これ...

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

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

異なる列を持つテーブルのクエリ結果のSQLマージ操作

2 つの異なるテーブルをクエリするには、結果をマージする必要があります。たとえば、table1 の列...

iframe の多層ネスト、無制限のネスト、高度に適応したソリューション

ページ A、B、C の 3 つがあります。ページ A にはページ B が含まれ、ページ B にはペー...

MYSQL 5.6 スレーブレプリケーションの展開と監視

MYSQL 5.6 スレーブレプリケーションの展開と監視MYSQL 5.6 のインストールと展開 #...

広告を閉じるための JavaScript カウントダウン

広告を閉じるまでのカウントダウンを実装するために JavaScript を使用するまだフロントエンド...