我计划用sql创建一个卡片游戏引擎,游戏由4个人类玩家组成,卡片在sql表中,现在每件事都是关于游戏逻辑和点数,每个游戏都由一个单独的sql表管理,玩家可以创建房间
每个房间都应有一个游戏桌,其中包含卡片数据,每个玩家都会在一个列中进行重新排列和一个单独的聊天表
如果有1000个游戏在同一个游戏中运行 时间和每次卡片播放然后对服务器进行请求 从玩家牌组记录员得分中移除一张牌 总游戏分数,可以在单个sql数据库中处理 没有延迟和性能问题?
我可以为每个游戏室使用全局临时表## sometable吗? 我必须手动创建表并在之后删除它们 游戏结束了吗?
我还想知道是否在单个sql中存储聊天数据 表会产生问题,我想到的一件事就是保存聊天数据 对于具有游戏ID列的单个数据表中的所有开放房间,但是 如果存在问题,这会给出一些性能问题吗? 聊天数据线?
如何正常管理此类应用程序?
我是否必须使用多台服务器并分发正在运行的游戏 在他们身上?
答案 0 :(得分:3)
您应该考虑使用基于内存的缓存系统(如Velocity或Memcached)来解决性能问题。
答案 1 :(得分:1)
我建议您将问题分解为多个问题,以便专门针对问题域的某个方面的贡献者可以做出相应的贡献。
我不知道PHP
是如何运作的;但我相当肯定,很多游戏逻辑在客户端发生会更有效率。对每个游戏动作进行服务器调用都会起作用,我的意见只是它是次优的。
答案 2 :(得分:1)
答案 3 :(得分:0)
简短版本是关系数据库(如SQL Server)对游戏不是很有用,因为它们无法有效存储结构严重的分层数据
我仍然主张避免使用SQL,但NoSQL
中有更多选项,对于实际性能,您应该考虑使用快速临时存储,例如Redis或Memcache
优化是一个完全不同的主题..广泛和项目特定。