我有一个在线 iphone 回合制游戏,同时运行很多游戏。我正在优化代码,因为我和服务器今天都崩溃了。
这是设置:
现在我有一个表,“匹配”(每行 70 个数据字段。结构),它跟踪所有活动的匹配。每隔 7 秒,iphone 将连接,下载他/她活动的“matches”表中的所有匹配项,并更新 iphone 中的 UI。
在大约 1,000 人下载并玩这款游戏之前,这种方法效果很好。服务器崩溃了。
所以为了优化,我想我可以创建一个名为“matches_needs_update”的新表。该表有 2 行;姓名和身份证。“id”与“matches”表中的匹配项相同。更新匹配时,会将其放入此表中。
现在,为了搜索整个“matches”表,查询只是检查玩家是否有任何需要更新的匹配项,然后从“matches”表中获取这些匹配项。
我的问题是双重的:
- 这是最佳解决方案吗?
如果玩家活跃,比如说 10 场比赛,有没有一种好方法可以同时从“比赛”表中获取这 10 场比赛,或者我是否需要一个 for 循环进行 10 次查询,每场比赛一个:
“SELECT * FROM 匹配 WHERE id = ?”
提前致谢