プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルにはどれくらいの量のデータを保存できるのでしょうか。計算の根拠は何ですか?次に、一つずつ説明していきましょう 知識の準備データページオペレーティング システムでは、ディスクと対話するために、メモリもページ サイズが 4 KB でページ化されることがわかっています。同様に、MySQL でもスループットを向上させるためにデータがページングされますが、MySQL のデータ ページ サイズは 16 KB です。 (正確には、InnoDB データ ページのサイズは 16KB です)。詳しい学習方法は公式サイトを参照してください。以下のコマンドで問い合わせることができます。 mysql> 'innodb_page_size' のようなグローバルステータスを表示します。 +------------------+-------+ | 変数名 | 値 | +------------------+-------+ | Innodb_ページサイズ | 16384 | +------------------+-------+ セット内の 1 行 (0.00 秒) 今日は、データ ページの特定の構造ポインターについては詳しく説明しません。デフォルトで 16kb に設定されており、ノードのデータ サイズが 16kb であるということだけを知っておいてください。 インデックス構造 (innodb)MySQLのインデックス構造は誰もが知っていますが、それは次のB+ツリー構造です。 通常、B+ツリーの非リーフノードにはデータは保存されません。リーフノード(最下層)のみがデータを保存します。それではノードについてお話ししましょう。ノードとは(上の図の場合) 赤いボックスで選択された各部分は、要素ではなくノードと呼ばれます。ノードの概念と各ノードのサイズが 16kb であることを理解した後は、MySQL が保存できるデータの量を計算するのがはるかに簡単になります。 具体的な計算方法ルートノードの計算まず、ルートノードを見てみましょう たとえば、設定するデータ型はbigintで、サイズは8bです。 データ自体に、次のレベルのインデックスデータページのアドレスを格納するために使用される6KBの小さなスペースがあります。 したがって、(8b+6b=14b) のデータ空間を計算できます (bigint を例にとると)。データ ページのサイズは 16kb、つまり (16 1024)b であると言いましたが、ルート ノードには (16 1024/(8+6)) のデータ、つまり約 1170 個のデータを保存できます。ノード計算方式で計算すると、次のステップは簡単になります。 他のレイヤーのノードの計算2層目は実は簡単です。各ノードのデータ構造はルートノードと同じで、ルートノードの各要素はノードに拡張されるため、2層目のデータ量は1170*1170=1368900です。問題は3層目にあります。InnoDBのリーフノードにはMySQLデータ全体が直接含まれているからです。フィールドが多いと、データが占めるスペースは小さくありません。ここでは1kbと計算しているので、3層目では各ノードは16kbで、各ノードは16個のデータを保持できるため、最終的にMySQLが保存できるデータの合計は次のようになります。 1170 * 1170 * 16 = 21902400 (数千万) 実際、計算結果は私たちの通常の仕事の経験と一致しています。一般的に、MySQL テーブル内のデータが 1,000 万を超える場合は、テーブルに分割する必要があります。 要約する最後に、今日話し合ったことを写真を使ってまとめたいと思います。気に入っていただければ幸いです。 MySQL テーブルに保存できるデータ量に関するこの記事はこれで終わりです。MySQL テーブルに保存できるデータ量の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: react+antd.3x は IP 入力ボックスを実装します
>>: Dell R720 サーバーに Windows Server 2008 R2 をインストールする方法
JavaScriptでの検索二分木実装は参考までに。具体的な内容は以下のとおりです。バイナリ検索木 ...
1. Reactでクラス宣言する際のヒント 上記のように、Child クラスは class キーワー...
「初心者向けソースコードからの MySQL デッドロック問題の理解」では、MySQL ソースコードを...
今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...
目次1. rsync、cpでファイルをコピーする2. xxxをoutfile構文に選択する3. 遅延...
目次1. オブジェクトの変更検出2. オブジェクトに関する質問配列変更検出3.1 背景3.2 実装I...
目次どうしたの?いつ使うか列挙の数を制御するビット値コントロールインデックス非数値列挙結論はType...
この記事では、例を使用して、MySQL 共同インデックスの機能と使用方法を説明します。ご参考までに、...
これは、VPS サーバー用の一般的なワンクリック パフォーマンス テスト スクリプトです。マシンの構...
1. コマンドの紹介ファイル コマンドは、ファイルの種類を識別するために使用されます。ファイル チェ...
この記事ではMySQL 8.0.15のインストールと設定方法を参考までに記録します。具体的な内容は以...
ある設計士はこう尋ねた。「実際のプロジェクト制作には参加せずに、純粋に設計だけをすることはできますか...
1.リスナーを見る時計のご紹介 'vue' から { ref, reactive, ...
.net 開発に関しては、Microsoft の SQL Server データベースに精通しており、...
目次1. はじめに2回目の練習2.1 インストールと設定2.2 コアクラスの紹介2.3 使い方は? ...