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

推薦する

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...

Vue が Web オンラインチャット機能を実現

この記事では、Webオンラインチャットを実装するためのVueの具体的なコードを参考までに紹介します。...

React.FCとReact.Componentの使用に関する簡単な説明

目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...

SQL 実装 LeetCode (185. 部門内で最も給与の高い上位 3 名)

[LeetCode] 185. 部門別給与上位3位従業員テーブルにはすべての従業員が保持されます。...

フォームアクションとonSubmitの例

まず、action はフォームの属性です。HTML5 では必須の属性値として定義されています。onS...

Centos7 環境でソースコードから mysql5.7.16 をインストールする方法の詳細な説明

この記事では、centos7 環境でソース コードから mysql5.7.16 をインストールする方...

W3C チュートリアル (13): W3C WSDL アクティビティ

Web サービスは、アプリケーション間の通信に関係します。 WSDL は、XML ベースの Web ...

MySql 学習 3 日目: データ テーブル間の接続とクエリの詳細

主キー:キーワード: 主キー機能: null にすることはできず、一意である必要があります。主キーの...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

js を使用してウォーターフォール効果を実現する

この記事の例では、滝の流れの効果を実現するためのjsの具体的なコードを参考までに共有しています。具体...

MYSQLのバックアップデータのスケジュールクリアの特定の操作

1|0 背景プロジェクトの要件により、各月の履歴在庫データをアーカイブしてバックアップする必要があり...

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...

同じレベルの要素で Position:fixed と margin-top を一緒に使用する場合の CSS の問題

問題の説明CSS を使用して上部の固定効果を実現したいと思います。 margin-top と pos...

JavaScriptイテレータを学ぶ

目次導入js のイテレータはどのように見えるか反復プロトコル反復可能なプロトコルイテレータプロトコル...

Mysql5.7 のルートパスワードを忘れた場合の対処法 (シンプルで効果的な方法)

前回の記事では、MySQL 5.7でルートパスワードを忘れた場合と、MySQL 5.7でルートパスワ...