Datum filtern

22/01/2008 - 07:06 von Jürgen Schulz | Report spam
Hallo NG

gegeben: Tabelle: Aenderungen, Datumsfeld: DatumAm
gesucht: alle Datensàtze aus dem Jahr 2007

Nun gibt es verschiedene Möglichkeiten. Ich habe drei verschiedene Abfragen,
welche Abfrage hat die beste performance?
Làsst sich die perfomance irgendwie messen?


SELECT Year([DatumAm]) AS JDatum
FROM Aenderungen
WHERE (((Year([DatumAm])) 07));

oder

SELECT Aenderungen.DatumAm
FROM Aenderungen
WHERE (((Aenderungen.DatumAm) Like "*.2007"));

oder

SELECT Aenderungen.DatumAm
FROM Aenderungen
WHERE (((Aenderungen.DatumAm)>=#1/1/2007# And
(Aenderungen.DatumAm)<=#12/31/2007#));



vielen Dank schon mal
Jürgen
 

Lesen sie die antworten

#1 Klaus Oberdalhoff
22/01/2008 - 07:33 | Warnen spam
Hi,

gegeben: Tabelle: Aenderungen, Datumsfeld: DatumAm
gesucht: alle Datensàtze aus dem Jahr 2007

Nun gibt es verschiedene Möglichkeiten. Ich habe drei verschiedene
Abfragen, welche Abfrage hat die beste performance?
Làsst sich die perfomance irgendwie messen?


SELECT Year([DatumAm]) AS JDatum
FROM Aenderungen
WHERE (((Year([DatumAm])) 07));

oder

SELECT Aenderungen.DatumAm
FROM Aenderungen
WHERE (((Aenderungen.DatumAm) Like "*.2007"));

oder

SELECT Aenderungen.DatumAm
FROM Aenderungen
WHERE (((Aenderungen.DatumAm)>=#1/1/2007# And
(Aenderungen.DatumAm)<=#12/31/2007#));





messen, sicherlich: Mach eine Tabelle mit 100.000 Datensàtzen, frag die mit
jeder der Methoden ab, und vor dem Anfang und nach dem Ende gibst du die
Zeit aus ...

Wahrscheinlich wird 3 die schnellste, 1, die zweitschnellste und 2 die
langsamste Methode sein, denke ich mal...

(3 benötigt keine Funktion, 2: like ist, da nicht am Anfang gàhnend langsam
und 1 benötigt halt eine Funktion)

mfg

Klaus

Ähnliche fragen