![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Chciałbym rozpocząć dyskusję na temat odpowiedniego doboru typu dla określonej kolumny. Otóż tworze tabele użytkowników i zastanawiam się nad doborem typu dla "id_user" - Wiadome, aby było unsigned + AUTO_INCREMENT, ale dokładnie zastanawia mnie jaki typ dać? http://dev.mysql.com/doc/refman/5.0/en/num....html#id1609251 Według tej tabeli, samo SMALLINT (do: 65535) wystarczyłoby mi, ale czy jeśli uda mi się przekroczyć "barierę" 65535 użytkowników to będę mógł zmienić typ z SMALLINT na MEDIUMINT bez żadnych problemów z poprzednimi zarejestrowanymi kontami? Oraz dołączę drugie pytanie - również związane z tabelą użytkowników. Załóżmy, że mamy kolumnę "zainteresowania" - z doświadczenia wiem, że rzadko go uzupełnia takie pole, ale mimo to chciałbym mieć tą opcje u siebie w serwisie. I teraz jak ktoś nie uzupełni w/w pola, to ustawiać wartość NULL czy '' ? Większość skryptów tak prezentuje taką kolumnę:
Czyli w przypadku braku wartości, ustawi się '' - czy jest to lepsze rozwiązanie od NULL? W jakich przypadkach powinno wstawiać się NULL? Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wykorzystanie SMALLINT zamiast INT pozwoli Ci jedynie na zaoszczędzenie jakiś 100 KiB na każde 50 000 użytkowników. Różnicy w wydajności nie powinno być żadnej.
Co do NULL vs "". Jeżeli dana wartość jest nie podana/niezidentyfikowana powinieneś wstawić NULL, ponieważ on oznacza właśnie taki stan. Ten post edytował Crozin 24.10.2010, 12:31:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 04:09 |