我有一个现有的游戏数据库——目前使用 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 // , .... }
上述两种方法中的哪一种(甚至是我没有想到的另一种)会更有效?