Mysqlストレージエンジンを理解するための記事

MySQLアーキテクチャ

ここに画像の説明を挿入

⚫接続
最上位層は、主にいくつかの同様の接続処理、承認と認証、および関連するセキュリティソリューションを完了するためのいくつかのクライアントおよびリンクサービスです。サーバーは、サーバーに安全にアクセスする各クライアント
に対して持つ操作権限も確認します。
⚫サービスレイヤー
第2層アーキテクチャは、主にSQLインターフェイスなどのコアサービス機能のほとんどを完了し、キャッシュされたクエリ、SQL分析と最適化、および一部の組み込み関数の実行を完了します。プロシージャや関数など、すべてのクロス
ストレージエンジン機能もこのレイヤーで実装されます。
⚫エンジン
ストレージエンジンは、MySQLでのデータの保存と抽出を実際に担当し、サーバーはAPIを介してストレージエンジンと通信します。ストレージエンジンが異なれば機能も異なるため
、必要に応じて適切なストレージエンジンを選択できます。
ストレージレイヤー
は主にファイルシステムにデータを保存し、ストレージエンジンとの対話を完了します。

ストレージエンジンの概要

ストレージエンジンは、データの保存、インデックスの作成、データの更新/クエリなどのテクノロジーの実装です。ストレージエンジンはライブラリベースではなくテーブルベースであるため、ストレージエンジンは
テーブルタイプと呼ぶこともできます。

  1. テーブルを作成するときは、ストレージエンジンを指定します
    ここに画像の説明を挿入
  2. 現在のデータベースでサポートされているストレージエンジンを表示する
SHOW ENGINES;

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

⚫InnoDB

➢はじめ
にInnoDBは、高い信頼性と高いパフォーマンスを考慮した汎用ストレージエンジンです。MySQL5.5以降、InnoDBはデフォルトのMySQLストレージエンジンです。
➢機能
DML操作はACIDモデルに従い、トランザクションをサポートします。
行レベルのロックは同時アクセスパフォーマンスを向上させます。
データの整合性と正確性を確保するために外部キーの外部キー制約をサポートします。➢
ファイル
xxx.ibd:xxxはテーブル名を表します。innoDB各テーブルエンジンのは、テーブル構造(frm、sdi)、データ、およびテーブルのインデックスを格納するこのようなテーブルスペースファイルに対応します。
パラメーター:innodb_file_per_table

⚫InnoDB
ここに画像の説明を挿入

MyISAM

➢はじめ
にMyISAMは、初期のMySQLのデフォルトのストレージエンジンです。
➢機能
トランザクションをサポートしない、外部キーを
サポートしない、テーブルロックをサポートする、行ロックをサポートしない、
アクセス速度が速い
➢ファイル
xxx.sdi:テーブル構造情報を格納するxxx.MYD:
データを格納する
xxx.MYI:インデックスを格納する

⚫メモリ


メモリエンジンのテーブルデータを導入する場合、テーブルデータはメモリに保存されます。ハードウェアの問題や電源障害のため、これらのテーブルは一時テーブルまたはキャッシュとしてのみ使用できます。
➢機能
メモリストレージ
ハッシュインデックス(デフォルト)
➢ファイル
xxx.sdi:ストレージテーブルの構造情報

違い
ここに画像の説明を挿入

ストレージエンジンの選択

ストレージエンジンを選択するときは、アプリケーションシステムの特性に応じて適切なストレージエンジンを選択する必要があります。複雑なアプリケーションシステムの場合、実際の状況に応じて、さまざまなストレージエンジンを組み合わせて選択できます

➢InnoDB:Mysqlのデフォルトのストレージエンジンであり、トランザクションと外部キーをサポートします。アプリケーションのトランザクション整合性に対する要件が比較的高く、同時条件下でデータの整合性が必要であり、データ操作に挿入とクエリに加えて多くの更新操作と削除操作が含まれる場合は、InnoDBストレージエンジンがより適切な選択です。
➢MyISAM:アプリケーションが主に読み取り操作と挿入操作に基づいており、更新と削除の操作が少なく、トランザクションの整合性と同時実行性の要件がそれほど高くない場合、このストレージエンジンは非常に適しています。
➢MEMORY:すべてのデータを高速アクセス速度でメモリに保存します。通常は一時テーブルとキャッシュに使用されます。MEMORYの欠点は、テーブルのサイズに制限があり、大きすぎるテーブルをメモリにキャッシュできず、データのセキュリティが保証されないことです。

おすすめ

転載: blog.csdn.net/JIAYOUYAA/article/details/124201711