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

Come progettare in modo efficiente il database MySQL per il mio caso particolare

Hai uno schema relazionale come questo:

Ci sono due modi per risolvere questo problema. Il primo, quello "pulito" è costruire la tua tabella "mi piace" e fare "count (*)" sulla colonna appropriata.

Il secondo sarebbe quello di memorizzare in ogni commento un contatore, indicando quanti alti e bassi ci sono stati. Se vuoi controllare, se un utente specifico ha votato il commento, devi solo selezionare una voce, che puoi gestisci facilmente come query personale e uniscili due al di fuori del tuo database (per questo usa una query risultante in comment_id e tipo di voto che l'utente ha fatto in un thread specifico.)

Il tuo approccio con un elenco separato da virgole non è del tutto efficiente, poiché non puoi analizzarlo senza una maggiore intelligenza o un'enorme quantità di stringhe di analisi. Se hai un database, usalo!

("Un'informazione - Un set di dati"!)