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.
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
Was sollen wir mit der Indexstruktur von MySQL machen? Wie wir alle wissen, handelt es sich um die folgende B+-Baumstruktur
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)
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
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)
3. Zusammenfassung
Verwenden Sie abschließend ein Bild, um zusammenzufassen, was heute besprochen wurde. Ich hoffe, es gefällt Ihnen. Empfohlenes Lernen:
MySQL-Video-TutorialDas 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!