Ich muss Daten in MySQL speichern. Seine Länge ist nicht festgelegt, es könnte 255 oder 2 Zeichen lang sein. Soll ich TINYTEXT oder VARCHAR verwenden, um Platz zu sparen (Geschwindigkeit ist irrelevant)?Welcher Datentyp spart mehr Platz TINYTEXT oder VARCHAR für variable Datenlänge in MySQL?
Antwort
Wie für Datenspeicherplatz, VARCHAR(255)
und TINYTEXT
äquivalent:
VARCHAR (M): L + 1 Bytes, wenn Spaltenwerte erfordern 0 - 255 Bytes, L + 2 Bytes, wenn Werte erfordern mehr als 255 Bytes.
TINYTEXT: L + 1 Bytes, wobei L 2 < .
Quelle: MySQL Reference Manual: Data Storage Requirements.
Speicherplatz gleich sind, die folgenden Stack-Überlauf-Beiträge für die weitere Lektüre auf Check-out wünschen, wenn Sie die eine oder andere verwenden sollte:
Wenn Sie VARCHAR verwenden, müssen Sie die maximale Anzahl von Zeichen angeben, die in dieser Spalte gespeichert werden. Wenn Sie also eine Spalte als VARCHAR (255) deklarieren, können Sie Text mit bis zu 255 Zeichen speichern. Die wichtige Sache hier ist, dass, wenn Sie zwei Zeichen einfügen, nur diese zwei Zeichen gespeichert werden, d. H. Zugewiesener Speicherplatz ist 2 nicht 255.
TINYTEXT ist einer von vier TEXT-Typen. Sie sind VARCHAR sehr ähnlich, aber es gibt nur wenige Unterschiede (dies hängt jedoch von der MySQL-Version ab, die Sie verwenden). Für die Version 5.5 gibt es jedoch einige Einschränkungen, wenn es um TEXT-Typen geht. Erstens müssen Sie eine Indexpräfixlänge für Indizes auf TEXT angeben. Und der andere ist, dass TEXT-Spalten keine Standardwerte haben können.
Im Allgemeinen sollte TEXT für (extrem) lange Werte verwendet werden. Wenn Sie eine Zeichenfolge mit bis zu 255 Zeichen verwenden, sollten Sie VARCHAR verwenden.
Hoffe, dass dies hilft.
- 1. varchar (255) v tinyblob v tinytext
- 2. Welcher Datentyp wird zum Speichern der Binärzahl (base2-Nummern) in SQL Server verwendet, außer Varchar-Datentyp
- 3. texreg: Wie spart man Platz in htmlreg-Regressionstabellen?
- 4. Konvertieren von Int in Varchar-Datentyp in MySQL
- 5. PIVOT mit Varchar-Datentyp
- 6. Was ist der Unterschied zwischen den Zeichentypen VARCHAR (255) und TINYTEXT in MySQL?
- 7. MySQL konvertieren Spalten-Datentyp von VARCHAR zu INT
- 8. Datenlänge in Spalte ntext?
- 9. Welcher Datentyp für die Währungsumrechnung verwendet wird
- 10. Mysql Bigint VS Varchar
- 11. Welcher Datentyp passt in scala/slick zum geopoint in mysql?
- 12. Welcher Datentyp wird in MySQL zum Speichern von Bildern verwendet?
- 13. SQL Server: Welcher Datentyp für Dezimalwerte?
- 14. Welcher Datentyp wird für die Ordinalzahl verwendet?
- 15. MySQL Varchar Index Speicher
- 16. Wickeltische Datentyp von Varchar in Text PostgresSQL
- 17. Wie ändere ich Tabellenspalten-Datentyp in mehr als 1 Spalte?
- 18. Welcher Datentyp ist "lang lang"?
- 19. MYSQL VARCHAR oder CHAR für feste Länge string
- 20. Spalte, Parameter oder Variable # 10: Datentyp kann nicht gefunden werden
- 21. Welcher Datentyp kann abgerundet werden?
- 22. Welcher Datentyp für die Verwendung einer Zeit in gorm?
- 23. Konvertiere eine Varchar-Variable in eine Datetime-Variable
- 24. Ist mehr Platz für Variantensätze reserviert?
- 25. Festlegen Datentyp in mySQL
- 26. Operand Datentyp varchar ist ungültig für divide Operator
- 27. CHAR() oder VARCHAR() als Primärschlüssel in einer ISAM-mySQL-Tabelle?
- 28. Mysql-Datentyp für US-Postleitzahl (Postleitzahlen)
- 29. Was sind die optimalen Varchar-Größen für MySQL?
- 30. Konvertieren varchar Spaltenwerte in Integer in MySql
Ich denke, ich frage, wann TINYTEXT anstelle von VARCHAR zu verwenden? –
So ziemlich sollte man nicht. TINYTEXT ist ein BLOB-Feld, das den MySQL- und Speicher-Engines zusätzliche Overhead-Verarbeitung hinzufügt. –