Nie ma różnicy, pod maską wszystko jest varlena
(tablica o zmiennej długości).
Sprawdź ten artykuł z Depesz:http://www.depesz.com/index.php/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/
Kilka najważniejszych informacji:
Podsumowując:
- char(n) – zajmuje zbyt dużo miejsca, gdy mamy do czynienia z wartościami krótszymi niż
n
(dopełnia je don
) i może prowadzić do subtelnych błędów z powodu dodawania spacji końcowych, a zmiana limitu jest problematyczna - varchar(n) – problematyczna jest zmiana limitu w środowisku na żywo (wymaga blokady na wyłączność podczas zmiany tabeli)
- varchar – tak jak tekst
- tekst – dla mnie zwycięzca – ponad (n) typów danych, bo nie ma ich problemów, a ponad varchar – bo ma odrębną nazwę
Artykuł przeprowadza szczegółowe testy, aby pokazać, że wydajność wstawek i selekcji dla wszystkich 4 typów danych jest podobna. W razie potrzeby szczegółowo przygląda się również alternatywnym sposobom ograniczania długości. Ograniczenia lub domeny oparte na funkcjach zapewniają przewagę polegającą na natychmiastowym zwiększeniu ograniczenia długości, a biorąc pod uwagę, że zmniejszenie ograniczenia długości łańcucha jest rzadkie, depesz dochodzi do wniosku, że jedno z nich jest zwykle najlepszym wyborem dla ograniczenia długości.