Trzy typy, o których mówią, to char(n)
, varchar(n)
i text
. Wskazówka zasadniczo mówi, że:
char(n)
jest najwolniejszy ze względu na puste wypełnienie i konieczność sprawdzenia ograniczenia długości.varchar(n)
zwykle znajduje się pośrodku, ponieważ należy sprawdzić ograniczenie długości.text
(AKAvarchar
bezn
) jest zwykle najszybszy, ponieważ nie ma dodatkowych kosztów.
Oprócz pustego wypełnienia dla char(n)
i sprawdzanie długości dla char(n)
i varchar(n)
, wszystkie są traktowane tak samo za kulisami.
Z ActiveRecord, t.string
jest varchar
i t.text
to text
. Jeśli nie masz żadnych twardych ograniczeń długości na swoich ciągach, po prostu użyj t.text
z PostgreSQL.