多列或一个数组,更好的性能是什么?

时间:2019-06-01 12:14:54

标签: mysql

我想制作一个游戏(minecraft)区域数据库和玩家权限。
这些是我的餐桌创意。

example1)

列----------------数据类型
worldname ------------ 1 -----(INT(10))----- PK,NN
区域名称----------- 1 -----(INT(10))----- PK,NN
所有者------------------- 2 -----(INT(10))
成员---------------- 5,13,54,246,38295,564,2535,5364,411,9 -----(VARCHAR(128))


这个我收到了“成员”,并被“,”分割成数组。

example2)

列----------------数据类型
worldname ------------ 1 -----(INT(10))----- PK,NN
区域名称----------- 1 -----(INT(10))----- PK,NN
所有者------------------- 2 -----(INT(10)
member1 -------------- 5 -----(INT(10))
member2 -------------- 13 -----(INT(10))
member3 -------------- 54 -----(INT(10))
member4 -------------- 246 -----(INT(10))
member5 -------------- 38295 -----(INT(10))
member6 -------------- 564 -----(INT(10))
member7 -------------- 2535 -----(INT(10))
member8 -------------- 5364 -----(INT(10))
member9 -------------- 411 -----(INT(10))
member10 ------------- 9 -----(INT(10))



哪个表现更好?

2 个答案:

答案 0 :(得分:0)

我不确定我是否了解您想要做什么。如果有新玩家注册,会创建新成员吗?

但是,如果成员数量固定,则应选择第二个选项。建立数据库以进行搜索并提出一些要求。但是,任何语言(例如PHP)的循环都很慢。

我希望它会有所帮助, 最好的问候!

答案 1 :(得分:0)

都不是!

最佳做法是创建三个单独的表,一个表保存用户数据,一个表保存您的世界,最后一个表保存这两个表之间的关系。

所以表1: world 列: id name region owner 。 。

table2: user  列: id username 。 。

表3: world_user  列: world_id user_id 。 。