Aus dem feinen Handbuch :
Die drei Typen, über die sie sprechen, sind char(n)
, varchar(n)
, und text
. Der Tipp besagt im Wesentlichen Folgendes:
char(n)
ist am langsamsten, da Leerzeichen aufgefüllt werden und die Längenbeschränkung überprüft werden muss.varchar(n)
ist normalerweise in der Mitte, da die Längenbeschränkung überprüft werden muss.text
(AKAvarchar
ohnen
) ist in der Regel am schnellsten, da kein zusätzlicher Overhead anfällt.
Abgesehen von der Leerzeichenfüllung für char(n)
und Längenprüfung für char(n)
und varchar(n)
, sie werden hinter den Kulissen alle gleich behandelt.
Bei ActiveRecord t.string
ist ein varchar
und t.text
ist text
. Wenn Sie keine strengen Längenbeschränkungen für Ihre Zeichenfolgen haben, verwenden Sie einfach t.text
mit PostgreSQL.