#804

Cache den schweren Report, damit das Dashboard nicht mehr ruckelt

Ein Dashboard zeigt «Ereigniszahlen pro Nutzer» und aktualisiert sich alle 30 Sekunden. Auf einer Tabelle mit 100 Mio. Zeilen dauert diese Abfrage 8 Sekunden — zu langsam für jedes Öffnen des Dashboards. Cache das Ergebnis in einer materialisierten View und aktualisiere sie nach einem Zeitplan. Erstelle eine Tabelle events mit id, user_id und ts und füge fünf Zeilen ein. Erstelle eine materialisierte View namens events_per_user, die pro Nutzer die Anzahl seiner Ereignisse enthält. Füge events ein weiteres Ereignis hinzu und aktualisiere die materialisierte View — nach der Aktualisierung sollen die Zahlen den neuen Zustand widerspiegeln.

Beispiel der erwarteten Ausgabe

So sieht eine korrekte Antwort aus — ihre Zeilenanzahl ist eigenständig und muss nicht mit den Schematabellen übereinstimmen.

nuser_id
41
22

Dein Abfrageergebnis erscheint hier

Kein Ausgangsschema

Diese Aufgabe beginnt ohne Tabellen — du erstellst sie mit CREATE TABLE.