作者IJS (分清客套、礼貌与真诚)
看板GameDesign
标题Re: [程式] 网页RPG 物品栏实做问题
时间Thu Nov 25 10:51:07 2010
: 推 Foremanytz:nested/sub table,各物品有 modinfo 和baseinfo_index 11/25
: 推 a1234957: char_id, Item_id, amount 11/25
: → a1234957:DB 11/25
: → a1234957:存数字就好了 操作频繁的资料用文字存 会死掉 11/25
A+B
bigint char_id
int item_id
int amount
int location
存的时候 不需要存文字..
不管SQL存文字, 方不方便
但是内部操作, 用文字判断, 就很耗效能.
程式逻辑, 使用道具, 一定是检查item_id, 而不是item_name.
从DB抓出来, 如果还要经过转换 Item_name转成Item_id, 是不需要的.
况且就储存空间, 你存int跟存char(20)... 当然是存int比较省.
这种存法, 的确是从一大张里面, 捞出来你这个角色的状况.
如果太慢, 增加SQL Server那台的效能就好.
[SQL是很快的, 不够快, 你可以买台十几万的电脑让他很快]
这种存法的优点, GM要查询会很方便.
MMO, 除了速度效率外, 也要考虑WebGM的方便性.
※ 引述《madturtle (旅者‧愚人‧梦想家 )》之铭言:
: 标题: [程式] 网页RPG 物品栏实做问题
: 时间: Thu Nov 25 03:26:43 2010
:
: 目前想到两种方法:
:
: a)角色视为主档,每个道具做成角色的明细档,
:
: 做出来大概就是
:
: 所属角色(key) 物品名称 数量
: madturtle-1 补血药 10
: madturtle-2 含笑半步颠 100
: 5566-1 补血药 99
: 阪田银时-1 长老 2
: 阪田银时-2 补血药 5
:
: 但如果每个角色平均拥有50个道具,这样每次读取道具栏,
:
: 不就要从一个超大的明细资料表中去查询?
:
: 感觉应该是合理的做法,但伺服器负担会不会过大?
:
:
: b)每个物品设定代码,用文字&分隔符号的方式存在角色资料库
:
: 例如: a0001,10,b0901,1,a5566,99
:
: 读出来变成:补血药x10 长老x1 发霉的面包x99
:
: 似乎是可行,但这样一个栏位就要存超多东西...
:
:
: c)以上皆非
:
: (感觉应该olg都有通用解法了...希望各位高手不吝赐教)
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 59.124.8.181
: 推 elfkiller:天堂私服内部资料库用的方式跟a一样,MySQL 11/25 04:36
: 推 Foremanytz:nested/sub table,各物品有 modinfo 和baseinfo_index 11/25 06:56
: 推 a1234957: char_id, Item_id, amount 11/25 08:39
: → a1234957:DB 11/25 08:39
: → a1234957:存数字就好了 操作频繁的资料用文字存 会死掉 11/25 08:40
: → a1234957:SELECT慢 UPDATE 用DELETE & INSERT可能还比较快 11/25 08:41
: → s0300453:我个人是用a的方式 11/25 10:19
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.208.83.246
1F:推 madturtle:感谢回覆! 11/26 08:55