【发布时间】:2012-06-15 22:55:49
【问题描述】:
想法如下:我预计会收到数千个查询,每个查询都包含一定数量的名称值对;这些从关联数组开始,因此我可以很好地控制数据可能发生的情况。这些 NVP 因来源而异。例如,如果源是“A”,我可以接收数组(在 JSON 中以便于解释):{'Key1':'test1','key2':'test2'} 但如果源是“B”,我可以接收 {'DifferentKey1':'test1','DifferentKey2':'test2'} 我正在选择哪些键我想要存储在我的数据库中,所以在这种情况下,我只想从源 B 的数组中选择 DifferentKey1,然后丢弃其余的。
我的主要问题是这些数组在技术上可能是完全不相关的内容。它们有一个非常普遍的关联(它们都是包含统计数据的数组),但它们非常不同(因为来源不同,即不同的游戏/运动)。
我在想 SQL:存储一个充满游戏及其各自 ID 的表将是链接一般 NVP 字符串的好方法。例如:
Games table:
| id | name |
-------------
1 golf
2 soccer
NVP table
| id | game_id | nvp
1 1 team1score=87;team2score=94;team3score=73;
2 2 team1score=2;team2score=1;extratime=200;numyellowcards=4;
希望这已经足够清楚了。你明白我的意思吗?如果我可能使用的数据量不确定,我该如何构建表格?谢谢。
编辑:我想我应该注意,显然这种设置会起作用,但是它是最佳性能吗?也许不吧?不太清楚,看看你们能想出什么办法!
【问题讨论】:
-
看起来您重新发明了键值存储...!
-
那你有什么建议?这是一种普遍接受的做事方式吗?我认为可能有更好的方法。
标签: mysql database database-design nvp