我想在mySQL表格中存储来自SoundCloud的曲目播放列表。
我想知道我是否可以拥有一张表格:
该数组是一个JSON字符串,包含所有曲目ID及其播放顺序。
这样可以节省mySQL表方法的空间,我不会在播放列表表中存储数组,而是为存储的轨道创建另一个表:
JSON字符串存储是否是个好主意?
由于
答案 0 :(得分:2)
你有什么理由担心表现吗?从它的声音,你只需要几个表,可能不存储数千行。在如此极少的使用情况下,MySQL将表现完美。就个人而言,我说准确地为RDBMS建模您的数据,并且只在实际开始出现性能问题时担心性能。通过准确地为您建模数据,您可以解决其他人在搜索曲目时遇到的问题。它还可以轻松查看特定曲目的播放列表。我对表格有这个:
播放列表
轨道
PlaylistTracks
在遇到性能问题之前尝试防止性能问题几乎总是一个坏主意。谁说编码/解码JSON表示不会比MySQL慢?如果潜在的性能问题实际上不存在,为什么要放弃对数据建模的增强功能呢?
答案 1 :(得分:1)
我在单个json字段中存储轨道信息时看到的直接缺陷是您无法轻松搜索。您将需要在很可能没有良好索引的大字段上使用“LIKE”操作。字母数字索引对它们有长度限制。我认为它是255个字符,但您可能需要验证它。这也意味着你使用的许多字符都必须是唯一的,但是使用json,你会在字符串的开头就占用大量的空间和编码开销。
答案 2 :(得分:0)
如果您不打算在播放列表中搜索,我想这并不是那么糟糕。 NoSQL摇滚:))