Není v tom žádný rozdíl, pod kapotou je vše varlena
(pole s proměnnou délkou).
Podívejte se na tento článek od Depesze:http://www.depesz.com/index.php/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/
Pár zajímavostí:
Abych to všechno shrnul:
- char(n) – zabírá příliš mnoho místa při práci s hodnotami kratšími než
n
(vloží je nan
) a může vést k jemným chybám kvůli přidávání koncových mezer a navíc je problematické změnit limit- varchar(n) – je problematické změnit limit v živém prostředí (vyžaduje exkluzivní zámek při změně tabulky)
- varchar – stejně jako text
- text – pro mě vítěz – nad (n) datovými typy, protože postrádá jejich problémy, a nad varchar – protože má odlišný název
Článek provádí podrobné testování, aby ukázal, že výkon insertů a výběrů pro všechny 4 datové typy je podobný. V případě potřeby se také podrobně podívá na alternativní způsoby omezení délky. Omezení nebo domény založené na funkcích poskytují výhodu okamžitého zvýšení omezení délky a na základě toho, že snížení omezení délky řetězce je vzácné, depesz dochází k závěru, že jedna z nich je obvykle nejlepší volbou pro omezení délky.