Estoy creando una aplicación web que manipula datos bastante complejos: pestañas de guitarra.
As a reference, guitar tabs look like this:
Eb|-------------------------------------------------------------------------|
Bb|-------------------------------------------------------------------------|
Gb|--5-5-5-5----------------------------------------------------------------|
Db|--5-5-5-5--3-3-3-3--7-7-7-7--5-5-5-5--2-2-2-2--3-3-3-3--2-2-2-2--5-5-5-5-|
Ab|--3-3-3-3--3-3-3-3--7-7-7-7--5-5-5-5--2-2-2-2--3-3-3-3--2-2-2-2--5-5-5-5-|
Eb|-----------1-1-1-1--5-5-5-5--3-3-3-3--0-0-0-0--1-1-1-1--0-0-0-0--3-3-3-3-|
¿Sería más eficiente para el rendimiento almacenar estos datos como un gran fragmento, o dividirlos y almacenarlos "nota por nota"?
As a use case:
User changes first chord from: to:
Eb|--- Eb|---
Bb|--- Bb|---
Gb|--5 Gb|--4
Db|--5 Db|--4
Ab|--3 Ab|--2
Eb|--- Eb|---
Si lo almaceno como un bloque, el código para manipular las pestañas tendría que ser mucho más complejo. Si lo guardo nota por nota, habrá que acceder a la base de datos mucho más. ¿Qué método es más eficiente? Potencialmente, muchos usuarios modificarán los datos. Quiero la mejor aplicación web. Usaré MySQL si eso afecta la respuesta.