作者hirabbitt (兔子)
看板Database
标题[系统] 线上游戏资料库
时间Mon Mar 26 14:56:04 2012
是FB那种养成/经营游戏
原本我是将每位玩家的资料都做成资料表
例如说玩家1和玩家2的摆饰资料表
摆饰_玩家1
┌───┬───┬───┬───┐
│物件 │X座标 │Y座标 │显示 │
├───┼───┼───┼───┤
│桌子 │100 │150 │true │
├───┼───┼───┼───┤
│椅子 │90 │180 │true │
└───┴───┴───┴───┘
摆饰_玩家2
┌───┬───┬───┬───┐
│物件 │X座标 │Y座标 │显示 │
├───┼───┼───┼───┤
│桌子 │200 │150 │true │
├───┼───┼───┼───┤
│椅子 │-1 │-1 │false │
└───┴───┴───┴───┘
但没想到现在玩家人数暴增
(应该有很多只是创了帐号就不玩的那种)
所以整个资料库中都是资料表
每次维护时都要一段时间来载入资料库
请问我是不是应该改成这样...
摆饰
┌───┬───┬───┬───┬───┐
│玩家 │物件 │X座标 │Y座标 │显示 │
├───┼───┼───┼───┼───┤
│玩家1 │桌子 │100 │150 │true │
├───┼───┼───┼───┼───┤
│玩家1 │椅子 │90 │180 │true │
├───┼───┼───┼───┼───┤
│玩家2 │桌子 │200 │150 │true │
├───┼───┼───┼───┼───┤
│玩家2 │椅子 │-1 │-1 │false │
└───┴───┴───┴───┴───┘
会比较好?
--
◤ __ \__◣
█ ∠ ◢◤◢◤ ψhirabbitt
我们爱
◢ ◤ ◢███◣
▄▄█▄▄ ◢███◣
█████
▄▄▄▄▄ █████ 这就是为什麽我们的爱
因为神先爱我们 ██
●█
● █ꄠ█▇███
██
╱╲ █ ●◥█████◣● 和世人不一样
◥
╱█
╱╱ █ ● ◥████ ˇ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.246.116
1F:推 danielguo:是, 当然不能一个玩家就建一个 table 03/26 15:14
2F:→ hirabbitt:我原本是想说 玩家1用不到玩家2的资料 分开放 03/26 15:23
3F:→ hirabbitt:在游戏中拿的时候比较方便 没想到维护变得这麽困难 03/26 15:24
4F:→ hirabbitt:所以说任何情况下都不应该这样做吗? 有没有极端的例子 03/26 15:24
5F:→ hirabbitt:像是玩家只有几百人 但每人拥有的物件却上百件这样? 03/26 15:25
6F:推 hukhuk:哪个效能比较好? 03/26 17:12
7F:推 bobju:这个规划方式不符合正规化,长久营运下去会有问题的. 03/26 21:41
8F:推 alpe:这种东西... 一个user就放一个 blob 就好了 03/26 21:57
9F:推 benck:不管怎样都请用後者...加index之後後者效能猦好 03/26 22:56
10F:→ iFEELing:除非你用的不是RDBMS ... 03/27 06:22
11F:→ hirabbitt:加index之後要怎麽利用index @@? 03/27 14:04