PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

stringa vs testo usando Rails 3.2.* e Postgres - dovrei sempre usare solo testo

Dal manuale di precisione :

I tre tipi di cui stanno parlando sono char(n) , varchar(n) e text . Il suggerimento sta essenzialmente dicendo che:

  • char(n) è il più lento a causa del riempimento vuoto e della necessità di controllare il vincolo di lunghezza.
  • varchar(n) di solito è nel mezzo perché è necessario controllare il vincolo di lunghezza.
  • text (AKA varchar senza n ) è solitamente il più veloce perché non ci sono costi aggiuntivi.

A parte il riempimento vuoto per char(n) e controllo della lunghezza per char(n) e varchar(n) , sono tutti gestiti allo stesso modo dietro le quinte.

Con ActiveRecord, t.string è un varchar e t.text è text . Se non hai vincoli di lunghezza rigida sulle tue stringhe, usa semplicemente t.text con PostgreSQL.