看板 GameDesign 關於我們 聯絡資訊
: 推 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
madturtle:感謝回覆! 11/26 08:55