首页 > 解决方案 > 更多列或一个数组,什么是更好的性能?

问题描述

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

示例 1)

列 ---------------- 数据类型
worldname ------------ 1 ----- (INT(10)) ----- PK , NN
regionname ----------- 1 ----- (INT(10)) ----- PK , NN
owner ---------------- --- 2 ----- (INT(10))
成员 ---------------- 5, 13, 54, 246, 38295, 564, 2535, 5364, 411, 9 ----- (VARCHAR(128))


这个和我收到 'member' 并由 ', ' 分割成数组。

示例 2)

列 ---------------- 数据类型
worldname ------------ 1 ----- (INT(10)) ----- PK , NN
regionname ----------- 1 ----- (INT(10)) ----- PK , NN
owner ---------------- --- 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))



哪一个性能更好?

标签: mysql

解决方案


两者都不!

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

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

表 2: user 列: id username 。. .

表 3: world_user 列: world_id user_id 。. .


推荐阅读