【发布时间】:2019-01-08 20:10:25
【问题描述】:
我有一个现有的游戏数据库 - 目前使用 MySQL 存储信息 - 我希望测试 ArangoDB 以比较速度。
我想知道将玩家的所有信息存储在一个集合中是否更好,或者将两者分开是否更有效(甚至更好的做法)。
在 MySQL 中我真的别无选择,但我可以使用 ArangoDB。
例如,在 MySQL 中存储库存信息:
+---------------------------+
| user_id | item_id | count |
+---------+---------+-------+
| 1 | 1 | 7 |
| 1 | 2 | 4 |
+---------+---------+-------+
或者在 ArangoDB 中,我可以这样做:
-
所有信息的单一集合:
{ _key: "Unique User ID", health: 100, money: 52.38, // .... , inventory: { item1: 7, item2: 4 // , .... } } -
将上述集合分成两个不同的集合(一个用于健康、金钱等,另一个用于库存数据):
// 'user' collection { _key: "Unique User ID", health: 100, money: 52.38, .... } // 'inventory' collection { _key: "Unique User ID", item1: 7, item2: 4 // , .... }
以上两种方法中的哪一种(甚至是我没有想到的另一种)会更有效?
【问题讨论】: