Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czym sie rozni VARCHAR od TEXT?
Forum PHP.pl > Forum > Bazy danych > MySQL
michat34
kiedys varchar mogl miec max. 256 znakow wiec uzywalo sie go do tytulow, nickow, hase itd. do dluzszych tekstow byl text. ale od wersji bodajze 5 varchar moze miec nawet kilkadziesiat tysiecy znakow czyli tyle co text. tak wiec czym sie one roznia (jesli sie wgl roznia) i ktorego lepiej uzywac?
Majcon
Można powiedzieć że praktycznie niczym lecz! W varchar nie wstawimy entera trzeba go zamienić na \n (o ile chodzi o php) no a w text jest możliwość zapisania:)
Crozin
@Majcon: wybacz, ale bzdury piszesz. W VARCHAR jak najbardziej można zapisać każdy znak.
alegorn
różnią się, i to bardzo.

1.
varchar - jest przetrzymywany w tabeli (w pliku tabeli).
text jest przechowywany w innym miejscu (tak jak i np. blob)
mozesz sobie to łatwo sprawdzic - sprawdz, jakie pliki sie zmieniaja, przy dodaniu varchara, a jakie przy zapisie text.

2.
kolejna sprawa -, wynikajaca poniekad z powyzszego : indexy.
na varchar zalozysz index, na text - nie.

pozostale roznice sa juz tylko implikacja powyzszego.

j.
b4rt3kk
TEXT jest obiektem, do którego wskaźnik przetrzymywany jest w tabeli, natomiast VARCHAR jest elementem tabeli. Ja nie dostrzegam różnicy pomiędzy jednym a drugim, czy to w czasie dostępu, czy ilości zajmowanego miejsca. Jedynie dla TEXT nie możesz nadać wartości domyślnej. Osobiście wolę używać pola typu TEXT ze względu na to, że nie trzeba określać jego wielkości, więc mam pewność, że tak jak w przypadku VARCHAR nie utnie mi kawałka tekstu, ze względu na ograniczenie liczby znaków.
Crozin
@b4rt3kk: Typ TEXT ma ograniczenie bodajże 2^16 znaków.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.