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
(AKAvarchar
senzan
) è 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.