Ho tabella posts
:
id (int) index
uid (int)
text (text)
created (int)
is_deleted (tinyint)
e una tabella per memorizzare post stats
:
post_id (int) index
comments (int)
shares (int)
views (int)
Ora quando prendo post, la maggior parte delle volte recupero le statistiche. Il motivo per cui ho creato un altro tavolo era perché queste statistiche aggiornano frequentemente viste speciali . Aggiorno queste colonne nella transazione (commenti, condivisioni, viste) così le righe vengono bloccate e volevo mantenere la tabella dei post veloce da leggere, così ho creato un'altra tabella per le statistiche.
Ma ora penso che se li unisco in 1 tavolo, mi salverà un join extra che devo fare quasi l'80% delle volte.
Domanda 1: dovrei unire la tabella e mantenerle entrambe in una tabella?
Domanda 2: l'aggiornamento in una transazione blocca davvero la riga e impedisce di recuperarla? o recupera l'ultima riga aggiornata? (confuso su di esso)