MySQL: datetime vs. unix timestamp
Szerintetek hogyan érdemes eltárolni a dátumot MySQL-ben?
Én a timestamp-re szavazok, szerintem így könnyebb a dátumokkal lekérdezéseket végezni, valamint ha másféle formában akarom kiírni az oldalra, akkor nem kell előtte strtotime-al átalakítani.
Szóval melyik megoldás a gyorsabb, hatékonyabb, jobb?
D
■ Én a timestamp-re szavazok, szerintem így könnyebb a dátumokkal lekérdezéseket végezni, valamint ha másféle formában akarom kiírni az oldalra, akkor nem kell előtte strtotime-al átalakítani.
Szóval melyik megoldás a gyorsabb, hatékonyabb, jobb?
D
int
DATETIME
MySQL dátumkezelés
Ez eddig 1:1. Többiek?
datetime vs timestamp
Nem mindegy, hogy datetime vagy timestamp a típus, én a datetime-ra szavazok, lásd mysql formázási lehetőségek.
A timestamp mezők közül a táblában első automatikusan töltődik insert és update esetén (amennyiben nem adsz neki értéket külön), erre érdemes odafigyelni.
A manual ezt írja róla:
11.1.2. Overview of Date and Time Types
Barna
Timestamp
Remélem te is..
bocs
nnnna új fényben a véleményem:
marad a datetime-ra a voks, egyszerűen azért, mert amikor lekérek a mysql konzolon egy listát, akkor nem úgy akarom lekérni, hogy
ha eltérő formátumban akarom lekérni a dátumot, az inkább php-ből van, de akkor meg az a pár plusz karakter belefér:
datetime
Amúgy ha belegondolsz, hogy egy dátum tipusú mezőt nem csak megjeleíteni akrasz, hanem mondjuk szűrni is, akkor egyszerűbb aszondani, hogy xy >= '2006-01-01', mint a kívánt dátumhoz tartozó timestamp-et kiszámolni, és azt beplántálni a lekérdezésedbe. Több a hibalehetőség is.
És igen, ahogy tanult kollégám mondta, van DATE_FORMAT, és egy sql-ben megoldott dátum formázás (pl év lekérdezése), sokkal elegánsabb, mintha utána a szkript csinálná.. (ez persze szubjektív vélemény)