sql >> Base de Datos >  >> RDS >> Mysql

MySQL:JSON incrustado vs tabla

UNA de las razones para normalizar una base de datos es reducir la redundancia (sus "bloques repetibles")

OTRA razón es permitir consultas "hacia atrás". Si desea saber qué video se grabó en "15 Pike Place", su solución JSON fallará (tendrá que recurrir a la lectura secuencial, decodificando JSON, lo que anula el propósito de un RDBMS)

Buenas reglas generales:

  • Datos estructurados:poner en tablas y columnas
  • Datos que pueden ser parte de las condiciones de la consulta:póngalos en tablas y columnas
  • Datos no estructurados que sabe que nunca consultará:colóquelos en campos BLOB, XML o JSON

En caso de duda, use tablas y columnas . Es posible que tenga que pasar un poco de tiempo extra inicialmente, pero nunca se arrepentirá. La gente se ha arrepentido de su elección de campos JSON (o XML, para el caso) una y otra vez. ¿Mencioné "otra vez"?