ホームページ >データベース >mysql チュートリアル >mysqlの.ibdとは何のファイルですか?

mysqlの.ibdとは何のファイルですか?

青灯夜游
青灯夜游オリジナル
2023-04-04 15:29:519679ブラウズ

MySQL では、ibd はデータ ファイルおよびインデックス ファイルであり、主にデータの保存に使用され、MySQL の重要な部分です。 MySQL IBD ファイルは、MySQL データベースのパフォーマンスを向上させることができ、非構造化された大規模データベースに非常に適しています。 MySQL の IBD ファイルは優れたスケーラビリティを備えており、データの整合性を保護できます。階層型データベース アーキテクチャ メカニズムでは、IBD ファイルを使用すると、データベースの整合性に影響を与えることなくデータベースを効果的に拡張できます。

mysqlの.ibdとは何のファイルですか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

ibd は MySQL のデータ ファイルおよびインデックス ファイルであり、直接読み取ることはできません。

MySQL の IBD ファイル (mysqlibd) の重要性

MySQL の IBD ファイルは、MySQL の主要なファイルの 1 つであり、主にストレージに使用されます。データは MySQL の重要な部分です。ここでは、IBD ファイルの重要性について説明します。

まず、MySQL の IBD ファイルは、MySQL データベースのパフォーマンスを向上させることができます。データを保存するプロセスで、IBD ファイルを使用しない場合、データを読み取るために完全な I/O 操作が必要となり、大きな負担がかかり、データベースのパフォーマンスが低下します。ただし、IBD ファイルを使用する場合は異なります。圧縮アルゴリズムを利用してファイル サイズを大幅に削減し、ファイルを読みやすく、転送しやすくすることで、データベースのパフォーマンスと転送性を大幅に向上させます。

第二に、MySQL の IBD ファイルは、構造化されていない大規模データベースに非常に適しています。非構造化大規模データを保存する場合、通常のデータベース ファイル形式を使用すると、データ型やフィールド識別を満たせないなどの問題が発生しますが、IBD ファイルを使用することでこれらの問題を効果的に解決できます。

最後に、MySQL の IBD ファイルは拡張性が高く、データの整合性を保護できます。階層化されたデータベース アーキテクチャ メカニズムでは、IBD ファイルを使用すると、データベースの整合性に影響を与えることなくデータベースを効果的に拡張できます。さらに、IBD ファイルはデータの整合性を効果的にサポートして、データの整合性とセキュリティを確保することもできます。

つまり、MySQL の IBD ファイルはデータベースのパフォーマンスを向上させ、MySQL の非構造化された大規模データベースを再構築できる非常に重要なファイルです。さらに、大規模なデータベースへの拡張をサポートし、データの整合性と一貫性を維持できます。

MySQL ibd ファイル形式の予備分析

MySQL がテーブルを作成すると、対応するライブラリ フォルダーに 2 つのファイルが作成されます。は frm で、もう 1 つは ibd です。 ibd ファイル形式を簡単に分析してみましょう。

まず、いくつかの予備知識を知っておく必要があります。

InnoDB ブロック サイズを確認します (通常は 16k)

show vaiables like '%page%'

次のことができます。 innodb_page_size を参照してください。16384 バイトです。

ibd を使用してバイト サイズを分割すると、このファイルが何ブロックあるかを知ることができます。

例:

##98304/16384 この gyj_t3.ibd には 6 ページあることがわかります。

このライブラリに対応するデータは次のとおりです:

公式のファイル図を見てください:

最初にブロックは: File Space Header

2 番目のブロックは: Insert Buffer Bitmap

3 番目のブロックは: File Segment inode

4 番目のブロックから始まり、データが格納されます。対応する ibd ファイルを Windows の下に置き、開いて見てください。 4 番目のブロックであるデータ ブロックを直接見てみましょう。ヘッダーは 0x45B

としてマークされており、それを検索します:

まず、これが3 番目のブロックの終わり:

C018h、対応する 10 進表記は 49176

最初のブロックの位置:

が 0018h の場合、対応する 10 進表記は 24 です。

この前の文字はファイル ヘッダーで、ファイルの形式やその他の情報を識別するために使用されます。

これが 3 番目のブロックの終わりであるかどうかを計算してみましょう。位置は (49176 - 24) / 16384 = 3 です。

これはデータビットです!

対応するデータ ファイルを見てください:

ご覧のとおり、MySQL データ セグメントでは、NULL と '' はスペースを占有しません。

int の長さは 4 バイト、その他の可変長名の長さは 10 バイトのどちらか長い方です。

データ ID の 2 行目: 80 00 00 03、次の行は 80 00 00 04

[関連する推奨事項: mysql ビデオ チュートリアル ]

以上がmysqlの.ibdとは何のファイルですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。