TEXT vs VARCHAR, die in InnoDB-MySQL 5.5. Ihre Verwendung
Was sind die wichtigsten Unterschiede zwischen text und varchar in InnoDB-Speicher-engine bei MySQL 5.5?
Text oder varchar(5000) verwendet, wenn wir sprechen über einen Variablen text-Feld von nicht mehr als 5000 chars?
- Mögliche Duplikate von MySQL: Große VARCHAR vs TEXT?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut einem forum-post in
innodb.com
Überprüfen Sie auch diese.
Generell die Verwendung von TEXT - war auf "attach" selten verwendete, große Daten-in eine Zeile mit minimalen Auswirkungen auf die Leistung, wenn es nicht zugegriffen wird, z.B. Sie möchten nicht, dass die Suche/index die Inhalte. Es war auch die einzige Möglichkeit, über die alte 255 byte max für VARCHARs.
Jedoch InnoDB hat, verwischt sich die einst klare Linie zwischen VARCHAR und TEXT. Die drei wichtigsten Unterschiede, die ich finden kann, sind:
Einem weiteren performance-Unterschied ist, dass TEXT-Felder Kraft, temporäre Tabellen auf der Festplatte während der SELECT-Anweisungen. Dies kann eine Leistung Treffer für kleinere Daten, aber finden Sie in diesem Beitrag für wie mit wirklich großen VARCHARs in diesem Szenario könnte schlimmer sein, aufgrund deren Umwandlung in fester Größe im SPEICHER. dh. große VARCHARS wird, füllen sich die Speicher-Puffer-und kann immer noch gehen auf der Festplatte.
BLOB-und TEXT-Spalten können keine DEFAULT-Werte. Referenz
Nur die ersten N Zeichen der TEXT Felder indiziert sind. Referenz
So, während dessen wahr, Sie sind jetzt gespeichert in der gleichen Struktur, es lohnt sich immer, benchmarking Ihres gesamten app, um zu sehen, was andere Unterschiede kann die Leistung beeinträchtigen, Sortier -, such -, Speicher-Größe, Paketgröße, backups/Replikation usw.
Varchar in der Tabelle gespeichert ist, aber text ist verknüpft mit der Tabelle, also performance-Gewinn bei der Verwendung von VARCHAR.
weitere varchar vs text - MySQL