phpbar.de logo

Mailinglisten-Archive

Re(2): [php] datetime oder timestamp?

Re(2): [php] datetime oder timestamp?

Oliver Michalak php_(at)_phpcenter.de
Tue, 3 Jul 2001 14:26:35 +0200


Hallo,

>> Deswegen tendiere ich zu MySQL-
>> DATETIMEs, deren Handhabung auch nicht so schwer ist:
>> - Einf=FCgen mit now()
>> - Auslesen mit DATE=5FFORMAT()
>> - elegantes Abfragen in SQL-Kommandos
>
>Das stimmt schon, aber wenn ich zum Beispiel die Dauer eines Events ber=
echnen
>will, muss ich beide Daten auslesen und umst=E4ndlich voneinander abzie=
hen,
>wobei ich Tage, Stunden, etc extra berechnen muss (korrigiert mich, wen=
ns
>einfacher geht...).
Es geht einfacher, vor allem geht sehr viel, ich bin immer wieder
"begeistert", was die "date and time functions" im MySQL-Handbuch so
hergeben an Abfragenm=F6glichkeiten, hier nur mal andeutungsweise Dein B=
eispiel:

select to=5Fdays(start)-to=5Fdays(end) from events

Hinzu kommen Intervallabfragen, optionale Monats-, Tages-, Wochen- oder
Jahresumrechnungen, um deren Syntax man sich nicht umst=E4ndlich selber
k=FCmmern muss...

>Das stimmt auch wieder... allerdings ist in den meisten F=E4llen der SQ=
L-Server
>und der Webserver ein und dieselbe Maschine, deswegen d=FCrfte sich das=
 die
>Waage halten...
Der Unterschied ist nur der: ist deine SQL-Abfrage erstmal in MySQL
geparst (was sowieso passieren muss) f=FChrt MySQL deine Abfrage nativ a=
us
(also in compilierten C-Code). Selbst die schnellste Zend-Engine kommt
nicht an diese Performance beim Interpretieren deines php-codes heran!

>Ich denke, wenn es keine wesentliche Nachteile beinhaltet, werde ich de=
n
>UNIX-Timestamp nehmen, da ich bequem nach auf- / absteigenden Daten sor=
tieren
Folgendes Beispiel: du m=F6chtest nach Eventdauern sortieren - wenn Du d=
as
selber =FCber TIMESTAMP-Differenzen machst musst du ein Feld aufbauen, d=
as
PHP dann sortieren muss - das Aufbauen und Sortieren ist deutlich
langsamer (und du mu=DFt selber Zeit zum Coden investieren) als folgende=

Abfrage:

select to =5Fdays(start)-to=5Fdays(end) as dauer from events order by da=
uer

>Gibts noch Argumente, die mich zum DATETIME-Format bringen k=F6nnten ;-=
)
Hunderte ;)

-- 
Oliver Michalak
www.werk01.de / omich_(at)_werk01.de / 0(049)177 - 75 75 393



php::bar PHP Wiki   -   Listenarchive