Estou criando um aplicativo da web que manipula dados bastante complexos: abas 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-|
Seria mais eficiente para o desempenho armazenar esses dados como um bloco grande ou dividi-los e armazená-los "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|---
Se eu o armazenar como um bloco, o código para manipular as guias terá que ser muito mais complexo. Se eu guardar nota por nota, o banco de dados terá que ser acessado muito mais. Qual método é mais eficiente? Potencialmente, muitos usuários modificarão os dados. Quero o melhor aplicativo da web. Eu usarei o MySQL se isso afetar a resposta.