Parte de mi aplicación incluye automatización de volumen para canciones.¿La mejor manera de almacenar una matriz en la base de datos MySQL?
La automatización de volumen se describe en el siguiente formato:
[[0,50],[20,62],[48,92]]
considero cada elemento de esta matriz de un 'punto de datos' con el primer valor que contiene la posición en la canción y el segundo valor que contiene el volumen en una escala de 0-100.
Luego tomo estos valores y realizo una función del lado del cliente para interpolar estos datos con puntos de datos 'virtuales' para crear una curva de bezier que permite una suave transición de volumen mientras se reproduce un archivo de audio.
Sin embargo, ha surgido la necesidad de permitir que un usuario guarde esta automatización en la base de datos para recuperarla en una fecha posterior.
Los puntos de datos pueden ser ilimitado (aunque en realidad nunca debe exceder realmente alrededor de 40-50 siendo la mayoría de menos de 10)
También cómo debo manejar los datos? ¿Debería almacenarse como está, en un campo de texto? ¿O debería procesarlo de alguna manera de antemano para obtener resultados óptimos?
¿Qué tipo de datos sería mejor utilizar en MySQL para almacenar una matriz?
¿Cuál es el tipo de datos que se trabaja con dentro de su aplicación? ¿Es una cadena, una matriz, un objeto? Recopilo de "tal como está, en un campo de texto" para indicar que estás representando los puntos como una cadena internamente, pero podría estar leyendo eso mal. –
¿Por qué no simplemente crear múltiples campos con el tipo de INT?Por ejemplo volume_min, volume_max, song_position –
Si no es necesario perfeorm consultas de búsqueda de los valores en esa matriz, sólo tiene que utilizar un 'Text' campo y almacenar una versión serializada de la matriz (la forma en que envió aquí está bien, '[[0,50], [20,62], [48,92]]'). –