Hoihoi,
arbeite gerade an einer Komprimierung meiner Statistik-Datenbank.
Ich habe eine Tabelle, in der Pro Click ein Eintrag erzeugt wird (momentan irgendwas um die 1,6Mil - pro Tag in etwa 40k die dazu kommen). Hab mir mal 30.000 Datensätze zum Test rausgeholt.
Ich mach nun einen Select, der mir Pro Tag, pro Seite die Anzahl der Clicks wiedergibt. Alles kein Problem - damit wird dann auch die neue Tabelle gefüttert.
Nun möchte ich natürlich die Datensätze die ich "übernommen" habe auch in der "großen" Statistik-Tabelle löschen - dazu brauch ich natürlich die IDs der vorher selecteten und zum count herangezogenen Datensätze. Also hab ich GROUP_CONCAT rausgeholt und in die Query mit eingebaut.
Heile Welt! Funktioniert. Bis mir auffiel das bei den den Einträgen die bsp. 7000Clicks haben, irgendwie nur ca 100 Ids im Group Concat stehn. Die IDs sind 7-Stellig.
Ein Beispiel URLID 380 hat 7203 Clicks für den 6.6.2005. Die Query hier bringt die richtige Anzahl Clicks, aber nur 114 IDs zum vorschein.
Als erstes dachte ich an GROUP_CONCAT_MAX_LEN - nur diesen Parameter kann ich setzen wie ich will, es passiert nichts....
Welche Wert hat das Ding denn defaultmäßig? Bekomm ich überhaupt so viele Daten in das Ergebniss von GROUP_CONCAT? Muss ich doch pro URLID ne eigene Query für die IDs machen?
Für Irgendwelche Tipps und Ideen, vielleicht sogar Antworten, wäre ich dankbar.
thnx.
PS: mysql: 4.1.12 - falls das wichtig ist...
arbeite gerade an einer Komprimierung meiner Statistik-Datenbank.
Ich habe eine Tabelle, in der Pro Click ein Eintrag erzeugt wird (momentan irgendwas um die 1,6Mil - pro Tag in etwa 40k die dazu kommen). Hab mir mal 30.000 Datensätze zum Test rausgeholt.
Ich mach nun einen Select, der mir Pro Tag, pro Seite die Anzahl der Clicks wiedergibt. Alles kein Problem - damit wird dann auch die neue Tabelle gefüttert.
Code:
SELECT bla, DATE_FORMAT(r_date, '...') AS datum , count(bla) FROM blub GROUP BY datum
Code:
SELECT bla, DATE_FORMATr_date, '...') AS datum , count(bla), GROUP_CONCAT(stat_id SEPARATOR ', ') AS ids_to_del FROM blub GROUP BY datum
Ein Beispiel URLID 380 hat 7203 Clicks für den 6.6.2005. Die Query hier bringt die richtige Anzahl Clicks, aber nur 114 IDs zum vorschein.
Als erstes dachte ich an GROUP_CONCAT_MAX_LEN - nur diesen Parameter kann ich setzen wie ich will, es passiert nichts....
Welche Wert hat das Ding denn defaultmäßig? Bekomm ich überhaupt so viele Daten in das Ergebniss von GROUP_CONCAT? Muss ich doch pro URLID ne eigene Query für die IDs machen?
Für Irgendwelche Tipps und Ideen, vielleicht sogar Antworten, wäre ich dankbar.
thnx.
PS: mysql: 4.1.12 - falls das wichtig ist...
Kommentar