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

推薦する

Windows 10 Home Edition に Docker for Windows をインストールする

0. 背景ハードウェア: Xiaomi Notebook Air 13/Inter Core i7-...

Nginx サーバーで URL リンクを設定する方法

LNMPのようなアーキテクチャを持つウェブサイトは、一般的にPHPフレームワークに基づいて開発されて...

nginxはdockerコンテナ内に設定ファイルを自動的に生成します

企業が Docker 自動デプロイメントを構築する場合、Docker の実行時にコンテナ内の設定ファ...

JavaScript でアルゴリズムの複雑さを学ぶ方法

目次概要Big O 表記法とは何ですか?オー(1)の上) (n^2) O(logn) ですの上!)結...

フォームの送信イベントが応答しない

1. 問題の説明<br />JS を使用してフォームの送信メソッドを呼び出してフォームを...

コード標準では、SQL ステートメントに結合が多すぎないようにする必要があるのはなぜですか?

無料ポイントインタビュアー:Linuxを使ったことはありますか?私:はいインタビュアー:メモリ使用量...

vue3.0+vant3.0の迅速なプロジェクト構築の実装

目次1. プロジェクトの構築2. Vue3 体験 + Vant 紹介2020年9月18日にvue.j...

MySQLユーザー削除バグを解決する

著者が MySQL を使用してユーザーを追加していたところ、ユーザー名が間違って記述されていることに...

Ubuntu 18.04にmysql5.7をインストールする

Ubuntu 18.04では参考までにmysql 5.7をインストールします。具体的な内容は以下のと...

openlayers6 マップオーバーレイの一般的な 3 つの用途 (ポップアップウィンドウマーカーテキスト)

目次1. 前に書く2. ポップアップウィンドウを実装するためのオーバーレイ2.1 vueページのad...

MySQL マルチマスターと 1 スレーブのデータバックアップ方法のチュートリアル

概要いずれかのデータベースに対する操作は他のデータベースに自動的に適用され、2 つのデータベースのデ...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

MySQL5.7 mysqldump バックアップとリカバリの実装

MySQL バックアップコールドバックアップ:停止服務進行備份,即停止數據庫的寫入ホットバックアップ...

Windows Server 2008 のサーバー パフォーマンス監視に関するチュートリアル

次に、ログ管理、ログのアーカイブ、ログのトラブルシューティング、イベントの転送と収集のためのコンピュ...

MySQL 8.0.16 winx64 のインストールと設定方法のグラフィックチュートリアル

最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...