Tworzę aplikację internetową, która manipuluje dość złożonymi danymi: tabulatory.
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-|
Czy bardziej wydajne byłoby przechowywanie tych danych jako dużego fragmentu, czy też dzielenie ich i przechowywanie „na podstawie notatek”?
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|---
Jeśli przechowuję go jako blok, kod do manipulowania kartami musiałby być znacznie bardziej złożony. Jeśli zapiszę to notatka po notatce, dostęp do bazy danych będzie musiał być znacznie większy. Która metoda jest bardziej wydajna? Potencjalnie wielu użytkowników będzie modyfikować dane. Chcę najlepiej działającą aplikację internetową. Będę używać MySQL, jeśli w ogóle wpłynie to na odpowiedź.