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

Mysql:è pratico creare una tabella separata per i post di ogni utente

Dovresti aggiungere ID utente a negozi/post. Ci sono numerosi motivi per cui non vuoi avere tabelle separate per ogni utente:

  • MySQL è progettato per gestire tabelle con molte righe, non molte tabelle con la stessa struttura.
  • La strutturazione di query che attraversano le tabelle richiederà la combinazione di molte tabelle diverse.
  • Una piccola modifica alla struttura dei dati, come l'aggiunta di una nuova colonna, diventa un incubo.
  • I riferimenti chiave stranieri ai negozi diventano impossibili.
  • Se i dati di un utente non riempiono una singola pagina di dati, finisci per sprecare molto di memoria.

Ci sono alcuni motivi per cui potrebbe essere necessario dividere i dati in tabelle separate. Ecco alcuni possibili motivi:

  • L'accesso è più facile da gestire a livello di tabella che a livello di riga.
  • La replica dei dati per ogni utente potrebbe avere requisiti diversi.
  • Un'entità esterna richiede che i dati si trovino in tabelle o database separati.

Tuttavia, la prima serie di ragioni sembra pesare molto più pesantemente sulle strutture di singole tabelle/entità. Queste preoccupazioni più avanzate non sembrano essere un problema.