#804

Mettre en cache le rapport lourd pour que le tableau de bord cesse de ramer

Un tableau de bord affiche « le nombre d'événements par utilisateur » et se rafraîchit toutes les 30 secondes. Sur une table de 100 M de lignes, cette requête prend 8 secondes — trop lent à chaque ouverture du tableau de bord. Mettez le résultat en cache dans une vue matérialisée et rafraîchissez-la selon un planning. Construisez une table events avec id, user_id et ts, insérez cinq lignes. Créez une vue matérialisée nommée events_per_user qui contient le nombre d'événements par utilisateur. Ajoutez encore un événement à events, rafraîchissez la vue matérialisée — après le rafraîchissement, les chiffres doivent refléter le nouvel état.

Exemple de sortie attendue

Voici à quoi ressemble une réponse correcte — son nombre de lignes lui est propre, il n'a pas à correspondre aux tables du schéma.

nuser_id
41
22

Le résultat de votre requête apparaîtra ici

Aucun schéma de départ

Cet exercice démarre sans aucune table — vous les créerez via CREATE TABLE.