Mailinglisten-Archive |
Hallo Liste, die Unterteilung bringt mir bei den gleichen Abfragen 7 Sekunden Gewinn !!!!!! Das liegt daran, das ich den aktuellen Zustand der sendenden Geräte erfassen muß und zwar den letzten Eintrag dafür benötige. Um dies herauszufinden benutze ich eine SELECT GROUP BY Abfrage. Diese Funktion hat leider eine großen Nachteil, sie gruppiert ohne einen Index zu benutzen die gesamte Datenbank, im Moment etwas mehr als 330.000 Einträge. Um sicher zu gehen das alle Geräte zum ausgewählten Zeitpunkt gefunden worden sind, weil es manchmal Übertragungsfehler gibt, muß ich die gleiche Funktion ein zweites mal mit einem früheren Zeitpunkt durchführen. Damit wird klar das wenn ich zweimal 330.000 Einträge oder zwei mal 7.500 Einträge gruppiere ein Zeitgewinn dabei herauskommt. Das Ergebnis ist das gleiche. ---------- alte Mail ----------------- Hallo Liste, die Frage die ich habe ist bestimmt eine Anfängerfrage. Um Zeit zu sparen bei einer Select Group By Abfrage wollte ich meine Datenbank, wo im Moment ca. 7500 Einträge pro Tag hinzukommen, in Tagen unterteilen. So weit so gut, nur wenn ich nun die Daten herausfinden will und die Zeitspanne der Suche über einen Tageswechsel fällt, bekomme ich ein Problem. Im Moment löse ich das Problem der wechselnden Datenbanken, indem ich aus dem Timestamp für Anfang und Ende der Suche, die Monate und Tage errechne und so die Datenbanken bekomme die ich durchsuchen muß. Und dann per Schleife abfrage, die Abfrage lautet dann so: SELECT * FROM $MONAT_TAG WHERE Zeitstamp BETWEEN '991175305' AND '991175506' für $MONAT_TAG wird dann immer ein anderer Datenbankname eingetragen. Meine Frage ist ob es eine bessere Möglichkeit gibt, es z.B in einer Abfrage hinzubekommen. -- Viele Grüße, Georg mailto:g.hovenbitzer_(at)_ndh.net
php::bar PHP Wiki - Listenarchive