2011-05-04 41 views
1

我應該從my mysql db中爲我的ajax onlinegame worldmap(拖拽/滾動時)獲取新數據,還是從生成的(並經常更新的)XML中加載數據更好? (經常更新 - >因爲新玩家加入遊戲/世界地圖)?數據請求和性能

換句話說: 是mysql能夠不知道幾千個玩家滾動世界地圖(因此請求新數據)還是應該使用XML表?

回答

0

數據庫命中幾乎總是比文件命中(由於穿越網絡)更昂貴 - 但最快的選擇是保持內存中的數據集/緩存(儘管知道內存消耗)。

0

我認爲MySQL的適合你的..你也可以集羣的數據,對系統資源低運行時...

也可以的WebSockets爲intressting你。也許你應該看看的NodeJS,有了它,你可以處理新用戶加入易(推新玩家的其他玩家,而不是把數據從MySQL的的

1

個人而言,我討厭XML。
對你來說可能是對於工作的工具,但我只是要回答「能... MySQL的」你的問題的一部分:-)


但是這取決於你的SQL技能。 如何加快速度?

  1. 使MySQL服務器與網絡服務器保持在同一臺機器上以避免網絡流量。
  2. 使用內存表來避免磁盤IO。
  3. 知道你的SQL解決方案
  4. 將默認配置中的MySQL調整爲小表和小內存大小,這聽起來像適合你的情況,但實驗和測量看看哪個配置最適合。
  5. 每請求更多數據的選擇/插入/更新更少,比每請求更少數據的選擇/插入/更新更快。

另請注意,如果您不將內存緩存在內存中,您將在XML文件上遇到鎖定問題,從而降低速度。

0

是否將Ajax響應作爲XML或JSON返回?如果是後者,那麼爲什麼要用XML搞亂呢?

如果是我,我會保持數據庫中的數據與智能服務器端緩存(您可以選擇無效緩存項目)