michat34
18.11.2012, 12:45:30
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?
Crozin
18.11.2012, 12:53:16
Majcon
2.12.2012, 23:57:06
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
3.12.2012, 09:00:56
@Majcon: wybacz, ale bzdury piszesz. W VARCHAR jak najbardziej można zapisać każdy znak.
alegorn
3.12.2012, 12:46:39
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
3.12.2012, 14:04:52
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
3.12.2012, 14:42:55
@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.