Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Grundlegendes zu Speichergrößen für MySQL TEXT-Datentypen

TEXT Datenobjekte sind, wie ihr Namensvetter andeutet, nützlich, um lange Textstrings in einer MySQL-Datenbank zu speichern. Die vier TEXT Datenobjekttypen dienen zum Speichern und Anzeigen beträchtlicher Informationsmengen im Gegensatz zu anderen Datenobjekttypen, die bei Aufgaben wie dem Sortieren und Durchsuchen von Spalten oder der Handhabung kleinerer konfigurationsbasierter Optionen für ein größeres Projekt hilfreich sind. Der unterschiedliche TEXT Objekte bieten einen Speicherplatzbereich von 1 Byte bis 4 GB und sind nicht zum Speichern von Rechenwerten ausgelegt. Es ist üblich, dass diese verwendet werden, um Produktbeschreibungen für eine Verkaufsseite, Immobilienzusammenfassungen für eine Immobiliendatenbank und lange Artikeltexte auf einer Nachrichten-Website zu speichern. TEXT Objekte werden am besten verwendet, wenn VARCHAR und andere zeichenkettenbasierte Datenobjekte reichen nicht aus, um die gewünschte Informationsmenge zu speichern. Allerdings ist der kleinste TEXT Typ, TINYTEXT , hat dieselbe Zeichenlänge wie VARCHAR . TEXT Objekte unterscheiden sich von anderen Zeichenfolgenspeichertypen, indem sie die Anforderung zur Angabe einer Speicherlänge beseitigen, bei Auswahl keine Bytes entfernen und keinen ungenutzten Zeichenraum für eine effiziente Festplattenspeicherung auffüllen. Seit TEXT Objekte werden nicht im Arbeitsspeicher des Servers gespeichert, sie erfordern einen Datenaufwand zum Abrufen. Die folgenden Größen gehen davon aus, dass die Datenbank die UTF-8-Codierung verwendet.

TINYTEXT:255 Zeichen - 255 B

Der TINYTEXT Datenobjekt ist das kleinste von TEXT Familie und wurde entwickelt, um kurze Informationszeichenfolgen effizient zu speichern. Dieser Typ kann bis zu 255 Bytes (ausgedrückt als 2^8 -1) oder 255 Zeichen speichern und erfordert einen Overhead von 1 Byte. Dieses Objekt kann verwendet werden, um Dinge wie kurze Zusammenfassungen, URL-Links und andere kürzere Objekte zu speichern. TINYTEXT leuchtet über VARCHAR beim Speichern von Daten, die weniger als 255 Zeichen mit einer inkonsistenten Länge haben und nicht für Sortierkriterien verwendet werden müssen.

TEXT:65.535 Zeichen - 64 KB

Der Standard TEXT Das Datenobjekt ist ausreichend in der Lage, typische Langform-Textinhalte zu verarbeiten. TEXT Datenobjekte enden bei 64 KB (ausgedrückt als 2^16 -1) oder 65.535 Zeichen und erfordern einen Overhead von 2 Byte. Es ist groß genug, um Text für so etwas wie einen Artikel aufzunehmen, würde aber nicht ausreichen, um den Text eines ganzen Buches aufzunehmen.

MEDIUMTEXT:16.777.215 - 16 MB

Der MEDIUMTEXT data-Objekt ist nützlich, um größere Textzeichenfolgen wie Whitepaper, Bücher und Code-Backups zu speichern. Diese Datenobjekte können bis zu 16 MB (ausgedrückt als 2^24 -1) oder 16.777.215 Zeichen groß sein und erfordern 3 Byte Overhead-Speicher.

LONGTEXT:4.294.967.295 Zeichen - 4 GB

Der LONGTEXT Das Datenobjekt ist für die Verwendung in extremen Anwendungsfällen für die Speicherung von Textzeichenfolgen vorgesehen. Es ist eine praktikable Option, wenn der MEDIUMTEXT Objekt ist nicht groß genug. Computerprogramme und Anwendungen erreichen oft Textlängen im LONGTEXT Angebot. Diese Datenobjekte können bis zu 4 GB groß sein (ausgedrückt als 2^32 -1) und bis zu 4.294.967.295 Zeichen mit 4 Byte Overhead-Speicher speichern,

TEXT vs. BLOB

BLOB s sind eine alternative Art der Datenspeicherung, die übereinstimmende Benennungs- und Kapazitätsmechanismen mit TEXT teilen Objekte. Jedoch BLOB s sind binäre Zeichenfolgen ohne Zeichensatzsortierung, daher werden sie als numerische Werte behandelt, während TEXT Objekte werden als Zeichenfolgen behandelt. Diese Unterscheidung ist wichtig für die Sortierung von Informationen. BLOB s werden verwendet, um Datendateien wie Bilder, Videos und ausführbare Dateien zu speichern.

Nutzungshinweise

  • Mit TEXT Felder für Auswahl- und Suchabfragen führen zu Leistungseinbußen, da der Server die Objekte einzeln aufruft und sie während der Abfrage scannt, anstatt die im Speicher gespeicherten Daten auszulagern.
  • Durch Aktivieren von striktem SQL werden die maximalen Zeichenlängen erzwungen und alle eingegebenen Daten, die diese Beschränkungen überschreiten, abgeschnitten.
  • TEXT Spalten erfordern eine Indexpräfixlänge und können nicht DEFAULT haben Werte, im Gegensatz zu CHAR und VARCHAR Objekte.
  • Schätzung der Größe anhand der Wortanzahl:Gehen Sie davon aus, dass ein durchschnittliches englisches Wort 4,5 Buchstaben lang ist und 1 zusätzliches Zeichen für den Abstand benötigt. Beispiel:Eine Website, die aus Artikeln mit 500 Wörtern besteht, würde im Durchschnitt etwa 2.750 Zeichen für die Artikeltextdaten verwenden. TINYTEXT Die Kapazität von 255 Zeichen von ist für diesen Anwendungsfall nicht ausreichend, während TEXT Die Kapazität von 65535 Zeichen bietet Speicherplatz für Artikel, die basierend auf den durchschnittlichen Kriterien über 11.900 Wörter umfassen.