我有一个基于iPhone的在线回合游戏,很多游戏同时运行。我正在优化代码,因为我和服务器今天都崩溃了。
这是设置:
现在我有一个表,“匹配”(每行 70 个数据字段。结构),它跟踪所有事件的匹配。每 7 秒,iphone 将连接,下载他/她处于事件状态的“匹配”表中的所有匹配项,并更新 iphone 中的 UI。
这非常有效,直到大约 1,000 人下载并玩了游戏。服务器崩溃了。
因此,为了进行优化,我想可以创建一个名为“matches_needs_update”的新表。该表有 2 行;姓名和身份证。 “id”与“matches”表中的匹配项相同。当一个匹配被更新时,它被放入这个表中。
现在,不是搜索整个“匹配”表,查询只是检查玩家是否有任何需要更新的匹配,然后从“匹配”表中获取这些匹配。
我的问题是双重的:
“SELECT * FROM 匹配 WHERE id = ?”
提前致谢
最佳答案
我建议 APC ...
...当您使用 PHP 时,我假设您是从单个 mysql 数据库执行此操作,
它易于安装,并且从 PHP 6 开始将成为默认设置。
将这 1 个表保存在内存中,它就会飞起来。