Jarosław Haczyk wrote:
SELECT SUM(upload), SUM(download), CEIL(dt/delta) FROM stats WHERE
nodeid=x GROUP BY CEIL(dt/delta)
W sumie to jest do ALEC-a, podane przez Ciebie zapytanie nie nadaje się
w tej sytucji.
Wiem o co ci chodzi i zamiast foreach można zastosować funkcje SUM
sql'a, ale samo zapytanie musi juz tak pozostac.
Sprawdzilem jak jest w dbcompact
SELECT sum(upload) as upload, sum(download) as download FROM stats WHERE
dt >= ? AND dt < ? AND nodeid=?
GROUP BY nodeid
policz ile razy to zapytanie wykonujesz, na dużej bazie masakra, moje
jest wykonywane tylko raz, a robi to co trzeba, zwraca sumę wartości dla
każdego przedziału czasu, oczywiście trzeba mu jeszcze dodać warunek
ograniczający wyniki do początku i końca okresu (godzina, dzień,
miesiąc, rok) i odpowiednio dobrać deltę.
to czemu nie ma tak pieknie w trafficdbcompact ???