2009-03-02 2 views
3

Ich schreibe eine PHP/MySQL-Anwendung, die Website-Besucher Tracking-Lösungen ähnlich ist. Es behandelt 100.000s von Einsätzen pro Tag und kann durch das Zählen von Seitenaufrufen/Tag usw. abgefragt werden ...Mysql - Unix-Zeit vs Datetime

Ich frage mich, ob es aus Leistungsgründen besser ist, Zeit als Ganzzahl (Unix-Zeit) oder als MySQL zu halten Zeit. Irgendeine Idee über die Auswirkung auf die Leistung?

Scheint wie das Abrufen der Daten ist einfacher mit MySQL Zeit, da ich mysql -Funktion wie DAYOFYEAR() ohne FROM_UNIXTIME() verwenden kann.

Jede Beratung ist sehr zu begrüßen.

Antwort

1

Ein TIMESTAMP benötigt etwas weniger Speicherplatz (4 Byte) als ein DATETIME-Feld. Leistungsmäßig sollten sie in etwa gleich sein.

Wenn Sie darüber nachdenken, GROUP BY DAYOFYEAR (...) auszuführen, können Sie den DAYOFYEAR-Wert möglicherweise besser in einer eigenen Spalte speichern, um eine bessere Leistung zu erzielen.

+1

Ein datetime braucht 8 Bytes, während der Zeitstempel 4 nimmt. Das sind 4 Bytes Unterschied (siehe http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.html) – tehvan

+0

Ich wusste, ich sollte habe es nachgeschlagen: | – Greg