数据请求和性能

时间:2011-05-04 11:32:49

标签: php mysql xml ajax performance

我应该从我的mysql数据库中获取我的ajax onlinegame世界地图的新数据(同时拖动/滚动),还是从生成的(经常更新的)XML中加载数据更好? (经常更新 - >因为新玩家加入游戏/世界地图)?

换句话说: 是mysql能够让几千名玩家滚动世界地图(因此请求新数据)或者我应该使用XML表吗?

4 个答案:

答案 0 :(得分:1)

我个人讨厌XML 对你而言,它可能是适合这项工作的工具,但我只是回答你的问题的一部分是“是否能够...的mysql”: - )


但这取决于你的SQL技能。 如何加快速度?

  1. 将MySQL服务器与网络服务器保持在同一台机器上,以避免网络流量。
  2. 使用内存表来避免磁盘IO。
  3. 了解SQL的方法
  4. 默认配置中的MySQL调整为小表和小内存大小,这听起来很适合你的情况,但是试验和衡量哪个配置效果最好。
  5. 每次请求的数据选择/插入/更新次数越少,每次请求的数据量越多,选择/插入/更新越多。
  6. 另请注意,如果您不将XML文件缓存在内存中,您将遇到XML文件上的锁定问题,从而减慢了速度。

答案 1 :(得分:0)

数据库命中几乎总是比文件命中更昂贵(由于穿越网络) - 但最快的选择是保留内存中的数据集/缓存(但要注意内存消耗)。

答案 2 :(得分:0)

我认为mysql符合您的需求..当您在系统资源上运行不足时,您也可以对数据进行聚类...

也可以为你提供websockets。也许你应该看看nodejs,用它你可以轻松处理新的用户连接(将新玩家推送到其他玩家而不是从mysql中提取数据

答案 3 :(得分:0)

Ajax响应是以XML还是JSON形式返回的?如果是后者,那为什么还要乱用XML?

如果是我,我会使用智能服务器端缓存维护数据库中的数据(您可以选择性地使缓存项无效)