我的部分应用包括歌曲的音量自动化.
卷自动化按以下格式描述:
[[0,50],[20,62],[48,92]]
Run Code Online (Sandbox Code Playgroud)
我认为这个数组中的每个项目都是一个'数据点',第一个值包含歌曲中的位置,第二个值包含0-100的音量.
然后,我获取这些值并执行客户端功能,以"虚拟"数据点插入此数据,以创建贝塞尔曲线,从而在播放音频文件时允许平滑的音量转换.
但是,需要允许用户将该自动化保存到数据库中以便以后调用.
数据点可以是无限的(虽然实际上绝不应该超过40-50左右,大多数都不到10)
我该如何处理数据呢?它应该按原样存储在文本字段中吗?或者我应该事先以某种方式处理它以获得最佳效果?
在MySQL中最好使用哪种数据类型来存储数组?
Mik*_*ail 43
绝对不是一个text
领域,而是一个varchar
- 或许.我不建议解析结果并将它们存储在单独的列中,除非您想要利用数据库意义上的数据 - 统计数据等.
如果你从未看到自己问"用户使用的平均音量是多少?" 然后不要费心解析它.
要弄清楚如何存储这些数据,请问自己"以后如何使用它?" 如果您将获得该数组并需要使用它,您可以使用序列化功能.如果您将使用JavaScript中的值,那么JSON编码可能最适合您(加上许多语言都知道如何解码它)
祝好运!
我建议你看看 JSON 数据类型。通过这种方式,您可以以比 text 或 varchar 更有效的方式存储数组,并且您可以直接从 MySQL 访问您的数据,而无需解析整个内容。
看看这个链接:https : //dev.mysql.com/doc/refman/5.7/en/json.html