这是提高服务器效率/减少工作量的最佳方法

时间:2012-06-06 03:16:09

标签: php mysql database database-design

我很想知道一个表的首选方法是什么,它会存储与UserID关联的ID列表。

我是否应该有一个字段存储所有id的序列化数组(每个UserID一行)

每个玩家的每个ID都有一行?答案是明确的还是在做出这样的决定时有哪些因素需要考虑?

希望您能帮助解释最佳选择。

2 个答案:

答案 0 :(得分:1)

如果您要在每次或大部分时间获得完整的ID列表,或者如果ID列表很短,那么序列化它们很好(尽管我不推荐它)

但是,如果您需要使用ID列表中的ID作为约束来搜索用户,那么您将错过索引编制。

最好的办法是拥有一个存储多对多关系的单独表格(这就是我想要的)。如果您有一对多的关系,那么您应该颠倒引用关系的方式,并将user_id列添加到包含ID的表中。

答案 1 :(得分:0)

我会为每个玩家的每个ID保留一行。那对我来说是更易于管理和干净的方法。你在这看多少条记录呢?

相关问题