Parte della mia app include l'automazione del volume per le canzoni.Il modo migliore per memorizzare un array nel database MySQL?
L'automazione del volume è descritta nel seguente formato:
[[0,50],[20,62],[48,92]]
ritengo ogni elemento in questo array un 'punto dati' con il primo valore contenente la posizione nella canzone e il secondo valore contenente il volume su una scala da 0 a 100.
Poi prendo questi valori ed eseguo una funzione lato client per interpolare questi dati con punti dati "virtuali" al fine di creare una curva di bezier che consenta una transizione graduale del volume durante la riproduzione di un file audio.
Tuttavia, è sorta la necessità di consentire a un utente di salvare questa automazione nel database per il richiamo in un secondo momento.
I datapoints possono essere illimitato (anche se in realtà non dovrebbe mai realmente superare i circa 40-50 con la maggior parte di essere inferiore a 10)
Inoltre come devo gestire i dati? Dovrebbe essere memorizzato così com'è, in un campo di testo? O dovrei elaborarlo in qualche modo in anticipo per ottenere risultati ottimali?
Quale tipo di dati sarebbe meglio utilizzare in MySQL per memorizzare un array?
Qual è il tipo di dati che si sta lavorando con all'interno della vostra app? È una stringa, un array, un oggetto? Raccolgo da "come è, in un campo di testo" per indicare che stai rappresentando i punti come una stringa internamente, ma potrei leggere quello sbagliato. –
Perché non creare semplicemente più campi con il tipo di INT?Ad esempio volume_min, volume_max, song_position –
Se non è necessario perfezionare le query alla ricerca di valori in quell'array, è sufficiente utilizzare un campo 'text' e memorizzare una versione serializzata dell'array (il modo in cui l'hai postato qui è ok, '[[0,50], [20,62], [48,92]]'). –