À partir du manuel fin :
Les trois types dont ils parlent sont char(n)
, varchar(n)
, et text
. Le conseil dit essentiellement que :
char(n)
est le plus lent en raison du remplissage des blancs et de la nécessité de vérifier la contrainte de longueur.varchar(n)
est généralement au milieu car la contrainte de longueur doit être vérifiée.text
(AKAvarchar
sansn
) est généralement le plus rapide car il n'y a pas de temps système supplémentaire.
Mis à part le rembourrage en blanc pour char(n)
et vérification de la longueur de char(n)
et varchar(n)
, ils sont tous traités de la même manière dans les coulisses.
Avec ActiveRecord, t.string
est un varchar
et t.text
est text
. Si vous n'avez pas de contraintes de longueur strictes sur vos chaînes, utilisez simplement t.text
avec PostgreSQL.