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構文ルール

推薦する

Vue パッケージ化後の空白ページの解決策

1. vue-cli がプロジェクト パッケージを作成した後にページが空白になる問題の解決方法コマン...

CSSを使用して複数の画像を中央に水平に表示する方法

まず実装手順について説明します。最終結果 2. コードの実装HTML部分 <div class...

Vue プロジェクトで axios リクエストを使用する方法

目次1. インストール2. カプセル化に問題はない3. ファイルを作成する4. アドレス設定をリクエ...

Dockerが新しいイメージをロードした後にリポジトリとタグ名が両方ともnoneになる問題を解決する

次のコマンドを使用できます: docker tag [イメージID] [名前]:[バージョン]例えば...

JS ES6コーディング標準の詳細な説明

目次1. ブロックスコープ1.1. let は var を置き換える1.2. グローバル定数とスレッ...

デザイン理論: デザインにおける階層

<br />原文: http://andymao.com/andy/post/80.ht...

設定ファイルを書いてMyBatisを簡単に使う方法

設定ファイルを書いてMyBatisを簡単に使う方法マイバティス3.xここでは MyBatis につい...

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

ボタンのタイプが送信として指定されていません。ボタンをクリックしても、指定された URL にジャンプしません。

現在、プロジェクトの要件により、フォームの送信を制御し、送信前にデータを検証および処理するために j...

Windows Server 2019 のインストール (グラフィカル チュートリアル)

Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...

MySQL データベースでよく使用される SQL ステートメントの詳細と概要

この記事では、MySQL データベースでよく使用される SQL ステートメントを例を使用して説明しま...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

MySQL 内部結合の使用例 (必読)

文法規則 列名を選択 テーブル名1から INNER JOIN テーブル名2 ON テーブル名1.列名...

Alibaba Cloud ECS サーバーの開始プロセス (初心者必読のチュートリアル)

1. Alibaba Cloudは、個人のニーズに応じて適切なクラウドサーバーを選択し、CPU、メ...

カルーセル効果を実現するネイティブJavaScript

この記事では、カルーセルの効果を実現するためのJavaScriptの具体的なコードを参考までに共有し...