2016-11-13 2 views
0

Ich habe die folgende Tabelle:Speichern großer Textmengen in einer MySQL-Tabelle?

Name (Int), Id (Int), Description (VARCHAR) 

Das Problem, das ich habe, ist Beschreibung ist wahrscheinlich ein Absatz des Textes sein (über 100 Zeichen).

Mein Questionsl

1) Ist VARCHAR ein geeigneter Datentyp dieser Art von Daten zu speichern?

2) Ist MySQL eine ideale Speicherlösung für diese Daten, oder sollte ich stattdessen das Schreiben in Dateien betrachten?

N.B. Ich werde die Beschreibung nicht abfragen, sondern nur die Daten speichern.

Antwort

1

MySQL (ab Version 5.7) unterstützt bis zu 65.535 Bytes in einer varchar Spalte. Beachten Sie, dass die Länge einer Zeile (die kombinierte maximale Größe aller Spalten) ebenfalls 65.535 Byte beträgt. Da UTF-8 verwendet wird, kann die Anzahl der gespeicherten Zeichen unter diesem Limit liegen (da UTF-8 eine unterschiedliche Anzahl von Bytes pro Zeichen verwendet).

Beachten Sie, dass in Datenbanken eine Speicheranforderung von 100 Zeichen nicht wirklich von Bedeutung ist. Datenbanksysteme wie diese können viele Kilobyte in einer einzigen Zeile speichern, und sogar größere Daten (Einzelwerte, die in Gigabyte und darüber liegen) können in Blob-Spalten gespeichert werden (BLOB, TEXT).

Wenn Sie die Daten nicht abfragen und die Datenlänge möglicherweise 65KiB überschreitet, sollten Sie stattdessen den Datentyp TEXT verwenden, der große Werte an einem anderen physischen Speicherort speichert, der die Datensuche etwas vereinfacht teurer und behindert die Indizierung.

Verwandte Themen