2011-05-04 42 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搞乱呢?

如果是我,我会保持数据库中的数据与智能服务器端缓存(您可以选择无效缓存项目)