PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

chaîne vs texte en utilisant Rails 3.2.* et Postgres - dois-je toujours utiliser du texte

À 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 (AKA varchar sans n ) 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.