游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2862|回复: 9

MySql能否有大量的表?每个player一个。

[复制链接]

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2013-2-2 09:49:45 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20517
发表于 2013-2-2 12:43:36 | 显示全部楼层
每个player就一个记录而已,不会是专门的表。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2013-2-2 12:46:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20517
发表于 2013-2-2 12:49:45 | 显示全部楼层
你的表格,如: id,name,level,exp,item

0,xxx,1,100,xxx
1,yyy,1,200,yyy

每条记录一个player

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2013-2-3 10:51:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20517
发表于 2013-2-3 11:07:56 | 显示全部楼层
这个可以有很多方法,其中可以找一些论坛的代码看看,

每个帖子,回复的数量是不一样,就好比每个帖子是一个玩家数据,但是回帖无法确定数量,那如何去管理回帖,我们可以把回帖看作背包里的道具个数。

另外一种常规做法是预留空间,比如包包有100格,把能容纳这100个单位数据的空间准备好,当然,至于如何预留空间,这是另外的话题了。

3

主题

81

帖子

209

积分

中级会员

Rank: 3Rank: 3

积分
209
QQ
发表于 2013-2-4 10:17:51 | 显示全部楼层
没必要每个player一张表,比如说有个道具表,有个player表,这两者的关系必然是多对多的。即,一个玩家可以拥有多个类型的道具,同一类似的道具可以被多个玩家所拥有。那么我只需在建立一张中间表,将这两者的关系转换为1对多,如果道具加入属性等,再建议一张或多张属性字典表,同样关联到中间表中去。

这样就可以了

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2013-2-5 12:36:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

3

主题

81

帖子

209

积分

中级会员

Rank: 3Rank: 3

积分
209
QQ
发表于 2013-2-5 14:32:47 | 显示全部楼层
niexuchina 发表于 2013-2-5 12:36
你说没有必要,意思是搞那么多表也是可以的吗?
我觉得,如果每个player搞一个表,有没有可能优先cache那 ...

搞那么多表啊,理论上可以的。不过想想就头大,加入你的游戏同时在线10万人,岂不是要10万张表?而且还有可能是动态创建的。针对一些固定信息做cache其实就可以了。比如说道具的属性,对应的玩家ID(唯一索引或主键)等等。话说,没有DBA给你做这些事情么?

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2013-2-5 19:15:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-14 23:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表