Heim  >  Artikel  >  Datenbank  >  Wie viele Daten kann eine MySQL-Tabelle speichern?

Wie viele Daten kann eine MySQL-Tabelle speichern?

WBOY
WBOYnach vorne
2023-01-22 07:30:013281Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Man kann sagen, dass sie jeden Tag damit umgehen müssen, aber wie viele Daten kann eine MySQL-Tabelle speichern? Was ist die Berechnungsgrundlage? Lassen Sie es uns unten gemeinsam besprechen. Ich hoffe, es wird für alle hilfreich sein.

Wie viele Daten kann eine MySQL-Tabelle speichern?

1. Wissensvorbereitung

1.1. Datenseite

Im Betriebssystem wissen wir, dass der Speicher auch ausgelagert wird, mit einer Seitengröße von 4 KB. In ähnlicher Weise werden in MySQL zur Verbesserung des Durchsatzes auch Daten ausgelagert, die Datenseitengröße von MySQL beträgt jedoch 16 KB. (Um genau zu sein beträgt die Größe der InnoDB-Datenseite 16 KB). Eine detaillierte Untersuchung finden Sie auf der offiziellen Website. Wir können sie mit dem folgenden Befehl abfragen.

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

Heute gehen wir nicht auf den spezifischen Strukturzeiger der Datenseite ein, sondern wissen nur, dass er standardmäßig 16 KB groß ist, was bedeutet, dass die Datengröße eines Knotens 16 KB beträgt

1.2, Indexstruktur (innodb)

Was sollen wir mit der Indexstruktur von MySQL machen? Wie wir alle wissen, handelt es sich um die folgende B+-Baumstruktur

Wie viele Daten kann eine MySQL-Tabelle speichern?

Normalerweise speichern B+-Baum-Nicht-Blattknoten keine Daten, nur Blattknoten (die unterste Ebene) speichern Daten. Lassen Sie uns dann über Knoten sprechen, auf die sich ein Knoten bezieht (für das obige Bild)

Wie viele Daten kann eine MySQL-Tabelle speichern?

Jedes im roten Kästchen ausgewählte Teil wird als Knoten und nicht als Element bezeichnet. Nachdem wir das Konzept der Knoten und die Größe jedes Knotens von 16 KB verstanden haben, ist es für uns viel einfacher zu berechnen, wie viele Daten MySQL speichern kann Der Wurzelknoten

Der von uns festgelegte Datentyp ist beispielsweise Bigint, die Größe beträgt 8b

In den Daten selbst ist noch ein kleiner Raum vorhanden, der zum Speichern der Adresse der Indexdatenseite der nächsten Ebene verwendet wird , die Größe beträgt 6 KB

Wie viele Daten kann eine MySQL-Tabelle speichern?

Wir können also einen Speicherplatz mit Daten von (8b+6b=14b) berechnen (nehmen Sie Bigint als Beispiel). Wir haben gerade erwähnt, dass die Größe einer Datenseite 16 KB beträgt , also (16*1024)b, dann kann der Wurzelknoten (16*1024/(8+6)) Daten speichern, das Ergebnis sind etwa 1170 Daten. Bei Berechnung gemäß der Knotenberechnungsmethode erfolgt der nächste Schritt Sei einfach.

2.2. Berechnung von Knoten in anderen Schichten

Wie viele Daten kann eine MySQL-Tabelle speichern?Die zweite Schicht ist tatsächlich einfacher, da die Datenstruktur jedes Knotens mit der des Knotens identisch ist und jedes Element des Knotens um einen Knoten erweitert wird, also um einen Betrag Die Anzahl der Daten in der zweiten Ebene beträgt 1170 * 1170 = 1368900. Das Problem liegt in der dritten Ebene, da der Blattknoten von innodb direkt die gesamten MySQL-Daten enthält. Wenn viele Felder vorhanden sind, ist der von den Daten belegte Speicherplatz nicht gering. Wir berechnen es hier mit 1 KB, sodass in der dritten Schicht jeder Knoten 16 KB groß ist und jeder Knoten 16 Daten enthalten kann. Am Ende sind die Gesamtdaten, die MySQL speichern kann,

1170 * 1170 * 16 = 21902400 (zig Millionen Elemente)

Tatsächlich ist das Berechnungsergebnis dasselbe wie unsere tägliche Arbeitserfahrung. Wenn die Daten in einer MySQL-Tabelle 10 Millionen überschreiten, müssen sie im Allgemeinen in Tabellen unterteilt werden.

3. Zusammenfassung

Verwenden Sie abschließend ein Bild, um zusammenzufassen, was heute besprochen wurde. Ich hoffe, es gefällt Ihnen. Empfohlenes Lernen:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWie viele Daten kann eine MySQL-Tabelle speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen