Grzesiek23
22.02.2011, 17:26:46
Witam!
Chciałem się poradzić. Piszę obecnie komponent pod J!1.6.
Zauważyłem, że sporo dodatków dla J! jako datami posługuje się ciągiem liczb - TimeStamp, ale kolumna zdefiniowana jako int (chyba w celu uniknięcia automatycznej aktualizacji).
Natomiast w samej (czystej) J! (czy to 1.5 czy 1.6) w wielu kolumnach w tabeli spotkałem się z formatem DateTime.
Chciałbym się dowiedzieć, czy istnieją jakieś powody, świadczące o wyższości zapisu daty w liczbach, a stosowaniu datetime.
I dlaczego niektórzy, którzy tworzą dodatki (czy to pod J!, czy inne CMSy) zamiast dat stosują ten "zamiennik"?
Valdi_B
22.02.2011, 18:53:57
Co do "wyższości zapisu" - poczytaj stronę
http://dev.mysql.com/doc/refman/5.1/en/sto...quirements.htmlsekcja "Storage Requirements for Date and Time Types".
Data jest kodowana na 3 bajtach, natomiast DATETIME - na 8 (4 bajty na część "data", 4 bajty na część "czas", obie liczby - całkowite).
Co do korzystania z pól typu TIMESTAMP - uważaj na fakt, że dopuszczalny zakres dat jest mniejszy.
Grzesiek23
22.02.2011, 19:51:43
Czyli np przetrzymywania dat urodzin użytkowników odpada (1970).
Jednak już do dat, które będą zaczynać się od dzisiaj, można już rozwazyć timestamp.
Valdi_B
22.02.2011, 22:20:34
Skoro sprawa dotyczy dat urodzin, to "naturalnym" rozwiązaniem jest po prostu data.
Gdybyś rejestrował zdarzenia np. w zakresie ruchu pociągów - to DATETIME.
Dopiero gdy zależy nam na rozdzielczości rzędu (np.) milisekund potrzebujemy TIMESTAMP
Grzesiek23
23.02.2011, 13:32:32
Wiesz, patrzyłem chociażby na PHPBB - daty przetrzymywane tam są w timestamp. O ile dobrze myślę, to nie jest czysty timestamp, ponieważ kolumna zdefiniowana jest jako int.
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.