Do manual fino :
Os três tipos de que eles estão falando são
char(n)
, varchar(n)
e text
. A dica é basicamente dizer que:char(n)
é o mais lento devido ao preenchimento em branco e à necessidade de verificar a restrição de comprimento.varchar(n)
geralmente está no meio porque a restrição de comprimento precisa ser verificada.text
(AKAvarchar
semn
) geralmente é o mais rápido porque não há sobrecarga extra.
Além do preenchimento em branco para
char(n)
e verificação de comprimento para char(n)
e varchar(n)
, todos são tratados da mesma forma nos bastidores. Com ActiveRecord,
t.string
é um varchar
e t.text
é text
. Se você não tiver nenhuma restrição de comprimento rígido em suas strings, basta usar t.text
com PostgreSQL.