От изящно ръководство :
Трите типа, за които говорят, са char(n)
, varchar(n)
и text
. Съветът по същество казва, че:
char(n)
е най-бавният поради празни подложки и необходимост от проверка на ограничението за дължина.varchar(n)
обикновено е в средата, защото трябва да се провери ограничението за дължина.text
(известен още катоvarchar
безn
) обикновено е най-бързият, защото няма допълнителни разходи.
Освен празната подложка за char(n)
и проверка на дължината за char(n)
и varchar(n)
, всички те се обработват еднакво зад кулисите.
С ActiveRecord, t.string
е varchar
и t.text
е text
. Ако нямате строги ограничения на дължината на вашите низове, просто използвайте t.text
с PostgreSQL.