MySQL MyISAM デフォルト ストレージ エンジンの実装原則

MySQL MyISAM デフォルト ストレージ エンジンの実装原則

デフォルトでは、MyISAM テーブルはディスク上に .frm (テーブル構造ファイル)、.MYD (データ ファイル)、.MYI (インデックス ファイル) の 3 つのファイルを生成します。

データ ファイルとインデックス ファイルを作成するときに、その保存場所を指定できます。これは MyISAM テーブルでのみサポートされます。

  • データディレクトリ [=] データが保存される絶対パス
  • INDEX DIRECTORY [=] インデックスファイルへの絶対パス

1つのMyISAMテーブルでサポートされるデータの最大量は、ジャンプレコードの2の64乗です。

各テーブルには最大 64 個のインデックスを作成できます。

複合インデックスの場合、各複合インデックスには最大16列が含まれ、インデックス値の最大長は1000Bです。

MyISAM エンジンのストレージ形式は次のとおりです。

  • 固定長(FIXED static):VARCHAR/TEXT/BLOBを含まないフィールドを参照します。
  • 動的: フィールドにVARCHAR/TEXT/BLOBが含まれている限り
  • 圧縮: muisampack が作成されました

InnoDB ストレージ エンジン:

設計は ACID モデルに準拠しており、トランザクションをサポートし、サービスクラッシュから回復する機能を備え、ユーザーデータを最大限に保護できます。

行レベルのロックをサポートし、複数のユーザーの同時読み取りおよび書き込みパフォーマンスを向上できます。

InnoDB には独自の独立したバッファ プールがあり、よく使用されるデータとインデックスがキャッシュされます。

INSERT、UPDATE、および DELETE 操作の場合、InnoDB は変更バッファリング メカニズムを使用して自動的に最適化し、一貫性のある読み取りを提供し、変更されたデータをキャッシュしてディスク I/O を削減し、パフォーマンスを向上させます。

InnoDB テーブルを作成すると、次の 2 つのファイルが生成されます。

  • .frm テーブル構造ファイル
  • .ibd データおよびインデックス保存テーブルスペース

すべてのテーブルは、できればAUTO_INCREMENTを使用して主キーを作成するか、頻繁にクエリされる列に主キーとして配置する必要があります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL ストレージ エンジン MyISAM と InnoDB の違いの概要
  • MySQLストレージエンジンのMyISAMとInnoDBの違いを詳しく説明
  • MySQL ストレージ エンジンの概要と MyISAM と InnoDB の違い
  • MySQL ストレージ エンジン InnoDB と MyISAM の違い
  • MySQL の MyISAM ストレージ エンジンにおける非クラスター化インデックスの詳細な説明

<<:  docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

>>:  非常に詳細な基本的なJavaScript構文ルール

推薦する

単一マシン上での Tomcat の複数インスタンスの実装

1. はじめにまず、1 台のマシンで複数のインスタンスを使用する理由という質問に答える必要があります...

我々は自らの力でIE6を絶滅に追い込んでいる

実際、IE6 が本当にいつ消滅するのか私たちは毎日疑問に思っていますが、2001 年のリリース以来、...

Vue+element+springboot でファイルダウンロードの進行状況バー表示機能を実装する例

目次1. 需要背景2. 最適化計画3. 具体的な実施3.1 フロントエンドコード3.2 背景コード4...

MySQLの再帰問題

MySQL自体は再帰構文をサポートしていませんが、自己接続を通じていくつかの単純な再帰を実現できます...

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワー...

Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順

ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...

ドロップダウンメニューを実現するためのHTML+CSS

1. ドロップダウンリストの例コードは次のとおりです。 <!doctypehtml> ...

Raspberry Pi msmtp と mutt のインストールと設定のチュートリアル

1. muttをインストールするsudo apt-get install mutt 2. msmtp...

Nginx 設定場所のマッチング優先順位の簡単な分析

序文Nginx 構成のサーバー ブロック内の場所は、リクエスト URI を一致させるために使用され、...

ハイパーリンクを開くターゲットのテスト

リンクのターゲット属性は、リンクが開く場所を決定します。その値は通常、_blank、_self、_p...

Nginxはhttpとhttpsの両方のアクセスをサポートするために同じドメイン名を設定します

Nginx は同じドメイン名で構成されており、http と https の両方でアクセスできます。証...

Squid を使用して http および https 用のプロキシ サーバーを構築する方法

nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...

Linux DMAインターフェースの知識ポイントの詳細な説明

1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...