Open odelcroi opened 4 weeks ago
Ajout de 2 colonnes pour stocker 'platform' et 'device_type' -> a pris 20 Go
Idée pour alléger la base :
Drawback :
Idées pour accélerer les requetes
Comme nous accédons souvent aux lignes des derniers mois, créer un index de user_daily_visits inversé peut accélerer le traitement
CREATE INDEX idx_visit_ts_desc ON user_daily_visits (visit_ts DESC);
L'index triple unique_user_visit UNIQUE (user_id, device_id, visit_ts) est très lourd, pour garantir l'unicité (device_id, visit_ts) est suffisant
/\ un device_id peut avoir plusieurs user_agent, en effet, un device_id est une session utilisateur (associée à un session token)
SELECT
device_id,
COUNT(DISTINCT user_agent) AS user_agent_count, -- Compte les user_agents distincts pour chaque device_id
STRING_AGG(DISTINCT user_agent, ', ') AS concatenated_user_agents -- Concatène les user_agent distincts
FROM user_daily_visits
GROUP BY device_id
HAVING COUNT(DISTINCT user_agent) > 1; -- Affiche uniquement les device_id avec plusieurs user_agents distincts
user daily visits : lignes : 126M données : 39Go index : 60Go total : 99Go
optimiser la table :
optimiser les index