Från den fina manualen :
De tre typerna de pratar om är char(n)
, varchar(n)
och text
. Tipset är i huvudsak att säga att:
char(n)
är den långsammaste på grund av blank stoppning och måste kontrollera längdbegränsningen.varchar(n)
är vanligtvis i mitten eftersom längdbegränsningen måste kontrolleras.text
(AKAvarchar
utann
) är vanligtvis snabbast eftersom det inte finns några extra kostnader.
Förutom den tomma stoppningen för char(n)
och längdkontroll för char(n)
och varchar(n)
, de hanteras alla på samma sätt bakom kulisserna.
Med ActiveRecord, t.string
är en varchar
och t.text
är text
. Om du inte har några hårda längdbegränsningar på dina strängar, använd bara t.text
med PostgreSQL.