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

MySQL:JSON incorporato rispetto alla tabella

UNO dei motivi per normalizzare un database è ridurre la ridondanza (i tuoi "blocchi ripetibili")

UN ALTRO motivo è consentire l'interrogazione "all'indietro". Se volevi sapere quale video è stato girato a "15 Pike Place", la tua soluzione JSON fallirà (dovrai ricorrere alla lettura sequenziale, decodificando JSON che vanifica lo scopo di un RDBMS)

Buone regole pratiche:

  • Dati strutturati:inserisci tabelle e colonne
  • Dati che potrebbero far parte delle condizioni della query:inserisci tabelle e colonne
  • Dati non strutturati con cui sai che non eseguirai mai query - inseriti in campi BLOB, XML o JSON

In caso di dubbio, usa tabelle e colonne . All'inizio potresti dover dedicare un po' di tempo in più, ma non te ne pentirai mai. Le persone si sono pentite della loro scelta per i campi JSON (o XML, se è per questo) ancora e ancora e ancora. Ho menzionato "di nuovo"?