Mysql
 sql >> Database >  >> RDS >> Mysql

Database - Progettazione di una tabella eventi

Consiglio vivamente questo approccio. Poiché presumibilmente stai utilizzando lo stesso database per OLTP e OLAP, puoi ottenere notevoli vantaggi in termini di prestazioni aggiungendo alcune stelle e fiocchi di neve.

Ho un'app di social networking che è attualmente a 65 tavoli. Conservo una singola tabella per tenere traccia delle visualizzazioni degli oggetti (blog/post, forum/thread, galleria/album/immagine, ecc.), un'altra per gli oggetti consigliati e una terza tabella per riassumere l'attività di inserimento/aggiornamento in una dozzina di altre tabelle.

Una cosa che faccio in modo leggermente diverso è mantenere una tabella entity_type e usare il suo ID nella colonna object_type (nel tuo caso, la colonna "TABLE"). Vorresti fare la stessa cosa con una tabella event_type.

Chiarire per Alix - Sì, mantieni una tabella di riferimento per gli oggetti e una tabella di riferimento per gli eventi (queste sarebbero le tabelle delle dimensioni). La tua tabella dei fatti dovrebbe avere i seguenti campi:

id
object_id
event_id
event_time
ip_address