この記事では mysql データベース のストレージ エンジンについて説明します。そのため、mysql データベースのストレージ エンジンや私たちのエンジンについてあまり知らない学生は、mysql データベースのストレージ エンジンに関するこの記事を参照してください。
タイプ | 意味 |
---|---|
ストレージレイヤー | ストレージエンジン、フィールドタイプの選択、パラダイムデザイン |
デザインレイヤー | インデックス、キャッシュ、パーティション (サブテーブル) |
アーキテクチャレイヤー | 複数のmysqlサーバー設定、読み書き分離(マスター/スレーブモード) |
sqlステートメントレイヤー | 複数のSQLステートメントで目的を達成できる場合は、高パフォーマンスを選択してくださいそして高速 SQL ステートメント |
ストレージ エンジン: 私たちが使用するデータは、特定のテクノロジーを通じてデータベースに保存され、データベース データはファイルの形式でハードディスクに保存されます。複数のテクノロジーがあり、それぞれのテクノロジーには独自のパフォーマンスと機能があります。データを保存するためのテクノロジーと機能の組み合わせは、「ストレージ エンジン」と呼ばれます。
mysql で頻繁に使用されるストレージ エンジン: Myisam
或Innodb
など。
データベース データはさまざまなストレージ エンジンに保存され、すべての機能は現在のストレージ エンジンに関連しています。 プロジェクトのニーズと特性に応じて、さまざまなストレージ エンジンを選択する必要があります。
mysql でサポートされているすべてのストレージ エンジンを表示します:
データベース内の各データ テーブルのデータ設計情報の 3 つの側面: テーブル構造、データ、インデックス
技術的特徴: サポートトランザクション、行レベルのロック、外部キー
テーブル構造、データ、インデックスの物理ストレージ
innodb データテーブルを作成します:
テーブル構造ファイル:
このタイプのデータとインデックスの物理ファイルの場所:
すべての innodb テーブル データとインデックス情報は、次の ibdata1 ファイルに保存されます
デフォルトでは、各 innodb テーブルのデータとインデックスに対して個別のファイルストレージは作成されません
各 innodb テーブルが一意のデータとインデックスを持つように
変数order2 データテーブルを再作成します:
この時点で、order2 データテーブルには個別のデータとインデックスストレージファイルがあります:
後でinnodb_file_per_tableの設定状況がどのように変化しても、order2のデータとインデックスは独立した格納場所を持ちます
データの格納順序
innodbテーブルのデータの格納は、書き込まれた各データを主キーの順序。
トランザクション、外部キー
このタイプのデータテーブルはトランザクションと外部キーをサポートします
トランザクション: http://blog.csdn.net/change_any_time/article/details/79488020
外部キー: 2 つのデータテーブル A とテーブル B、およびテーブル B の主キーはテーブル A の通常のフィールドです。テーブル A で見ると、この通常のフィールドはテーブルの「外部キー」です。外部キーの使用には「制約」があります。
制約: 上記 2 つのテーブルの場合、テーブル B のデータを最初に書き込む必要があり、次にテーブル A のデータとテーブル A の外部キー値はテーブル B の主キー ID 値から取得する必要があり、その範囲を超えることはできません。 。
「外部キー」は制約があるため、実際のプロジェクトではほとんど使用されません。
同時実行性
構造、データ、インデックスは独立して保存されます。このタイプのデータ テーブルには、テーブル構造、データ、インデックス用の独立したストレージ ファイルがあります。各myisamデータテーブル構造、データ、インデックスは独立したストレージファイルを持っています
意味
テーブル構造ファイル | |
---|---|
*.MYI | |
以上がmysqlデータベースのストレージエンジンの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。