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

Wann TEXT in mysql anstelle von VARCHAR verwendet werden sollte

Ein langer VARCHAR wird wie ein TEXT gespeichert /BLOB Feld in InnoDB .

Quelle

Es sei denn, Sie müssen diese Spalten indizieren (in diesem Fall VARCHAR ist viel schneller) gibt es keinen Grund, VARCHAR zu verwenden über TEXT für lange Felder - es gibt einige Engine-spezifische Optimierungen in MySQL um den Datenabruf entsprechend der Länge abzustimmen, und Sie sollten den richtigen Spaltentyp verwenden, um diese Vorteile zu nutzen.

Falls Sie MyISAM verwenden Eine ausführliche Diskussion zu diesem Thema finden Sie hier .

TEXT und BLOB werden außerhalb der Tabelle gespeichert, wobei die Tabelle nur einen Zeiger auf den Ort der tatsächlichen Speicherung hat.

VARCHAR wird inline mit der Tabelle gespeichert. VARCHAR ist schneller, wenn die Größe angemessen ist.

Laut diesem Test , VARCHAR ist etwa dreimal so schnell wie Text.