Dari manual bagus :
Tiga jenis yang mereka bicarakan adalah char(n) , varchar(n) , dan text . Tip pada dasarnya mengatakan bahwa:
char(n)adalah yang paling lambat karena padding kosong dan harus memeriksa batasan panjang.varchar(n)biasanya di tengah karena batasan panjangnya perlu diperiksa.text(AKAvarchartanpan) biasanya yang tercepat karena tidak ada biaya tambahan.
Terlepas dari padding kosong untuk char(n) dan pemeriksaan panjang untuk char(n) dan varchar(n) , semuanya ditangani sama di belakang layar.
Dengan ActiveRecord, t.string adalah varchar dan t.text adalah text . Jika Anda tidak memiliki batasan panjang yang sulit pada string Anda, gunakan saja t.text dengan PostgreSQL.