Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> CHAR(32) czy VARCHAR(32), ktory lepszy do zapamietania wyniku funkcji md5?
MySQL
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 4
Dołączył: 3.06.2008

Ostrzeżenie: (0%)
-----


No wlasnie. Tak jak w temacie. Jest sobie funkcja php md5(), ktora zwraca zawsze (o ile nie poda sie drugiego opcjonalnego parametru) lancuch 32-znakowy. W wielu miejscach w Internecie przeczytalem ze zalecane jest zachowywac wyniku tej funkcji w bazie z polu typu CHAR(32) zamiast VARCHAR(32). Ale nie znalazlem wytlumaczenia takiego postepowania. I dlatego zadaje to pytanie.

Dlaczego wlasnie typ CHAR(32) mialby byc lepszy niz VARCHAR(32)? skoro:
po pierwsze - zarowno jeden jak i drugi mozna ograniczyc z gory;
do drugie - funkcja md5 ZAWSZE zwraca lancuch o stalej dlugosci.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




char stosujesz wtedy, gdy pole zawsze bedzie mialo string o tej samej dlugosci. dla md5() tak wlasnie bedzie.
char jest szybsze od varchar.

jest jednak pewien haczyk:
jesli w tabeli zdefiniujesz jeszcze jakiekolwiek pole typu VARCHAR, to CHAR juz ci sie na nic nie zda, bo mysql automatycznie skonweruje je na VARCHAR (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 00:47