ホームページ >データベース >mysql チュートリアル >MySQL テーブルにはどれくらいのデータを保存できますか?

MySQL テーブルにはどれくらいのデータを保存できますか?

WBOY
WBOY転載
2023-01-22 07:30:013331ブラウズ

この記事は、mysql に関する関連知識を提供します。プログラマは mysql を頻繁に扱う必要があります。プログラマーは毎日 mysql にさらされていると言えますが、mysql テーブルにはどれくらいのデータを保存できるでしょうか?計算の根拠は何ですか?一緒に話し合ってみましょう。皆さんのお役に立てれば幸いです。

MySQL テーブルにはどれくらいのデータを保存できますか?

1. 知識の準備

1.1. データ ページ

オペレーティング システムでは、対話するために次のことがわかっています。ディスクの場合、メモリもページングされ、ページ サイズは 4KB です。同様に、MySQLでもスループットを向上させるためにデータもページングされますが、MySQLのデータページサイズは16KBです。 (正確に言うと、InnoDB データ ページのサイズは 16KB です)。詳しい検討内容は公式サイトを参照してください 以下のコマンドで問い合わせることができます。

mysql> SHOW GLOBAL STATUS LIKE 'innodb_page_size';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| Innodb_page_size | 16384 |
+------------------+-------+
1 row in set (0.00 sec)

今日はデータ ページの具体的な構造ポインタについては説明しませんが、デフォルトで 16kb になっている、つまりノードのデータ サイズが 16kb

1.2 であることだけは知っておいてください。インデックス構造 (innodb)

私たちは皆、次の B ツリー構造である mysql のインデックス構造を知っておく必要があります。

MySQL テーブルにはどれくらいのデータを保存できますか?

通常、B ツリーは非リーフ ノードにはデータが格納されず、リーフ ノードのみが格納されます (データは最下層にのみ格納されます)。ノードに戻りましょう。ノードとは、(上の図の場合)

## を指します。 MySQL テーブルにはどれくらいのデータを保存できますか?##各赤いボックスで選択されている部分は、要素ではなくノードです。ノードの概念と各ノードのサイズが 16kb であることを理解すると、mysql が保存できるデータ量の計算がはるかに簡単になります

2. 具体的な計算方法

2.1. ルート ノード計算

最初にルート ノードのみを確​​認します

#たとえば、設定したデータ型は bigint で、サイズは 8b

## です。 #データ自体には、次のレベルのインデックス データ ページのアドレスを格納するために使用される小さなブロック領域が存在します。サイズは 6kb

MySQL テーブルにはどれくらいのデータを保存できますか?

なので、次のことが可能です。 (8b 6b=14b) のデータを持つスペースを計算します (bigint を例にします) データ ページのサイズは 16kb、つまり (16*1024)b であると述べました。その場合、ルート ノードは (16* 1024/(8 6)) 個のデータ 結果はおそらく 1170 個のデータがノード計算方法に従って計算できれば、次のステップは簡単です。

MySQL テーブルにはどれくらいのデータを保存できますか?2.2. 他の層のノードの計算

各ノードのデータ構造はノードのデータ構造と同じであり、ノードの各要素はノードに拡張されるため、第 2 層のデータ量は 1170*1170=1368900 になります。innodb のリーフ ノードには mysql データ全体が直接含まれているため、問題は第 3 層にあります。フィールドが多い場合、スペースはここでは 1kb を基準に計算しているので、第 3 層では各ノードが 16kb となり、各ノードに 16 個のデータを保存できるため、最終的に mysql が保存できるデータの合計は

# になります。 ##1170 * 1170 * 16 = 21902400 (数千万項目)

実際、計算結果は私たちの通常の作業経験と一致しています。一般に、MySQL テーブル内のデータが数千万を超える場合、テーブルに分割する必要があります。

3. まとめ

最後に、今日話し合った内容を写真を使ってまとめます。気に入っていただければ幸いです

推奨される学習:

mysql ビデオ チュートリアル

以上がMySQL テーブルにはどれくらいのデータを保存できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。