我目前正在开发一款游戏,而前一段时间我开始着手加载和保存。MySQL - 保存和加载
我一直在想,但我真的不能决定,因为我不知道哪个更有效率。
我的第一个选项: 当用户注册时,只有一条记录被插入(到'字符'表中)。当用户尝试登录时,并且在他/她成功完成之后,服务器将尝试加载用户的所有信息(跨多个表单独分开,并通过mysql'LEFT JOIN'进行组合),但它会运行所有的信息,并将它们应用到实体实例,如果它运行到NULL(这意味着信息不在数据库中),它会自动使用默认值。 保存时,它会插入或更新,以便在加载时生成的任何默认值现在将被保存。
我的第二个选项: 只需在注册时插入所有必需的行(注册完成后从网站插入行)。
下降到第一个选项:无用的检查用户是否已经登录一次,因为所有表将在首次登录后生成。
上升到第一个选项:如果删除表中的任何记录,它将插入默认数据而不是踢选手,说它的字符信息已损坏/丢失。
第二种选择的缺点:它可能会浪费一点内存,因为所有的表格都是在注册时插入的,并且可能会有垃圾邮件机器人以及甚至无法上网的人。
上升到第一个选项:我们不必检查服务器中的任何东西。
我还注意到,第一个选项可能会搞砸任何搜索系统(通过admincp,如果我们尝试查找特定用户)。
你会提供一些关于你在谈论什么样的信息的细节吗?哪些数据来自这些其他表格? – ErikE 2010-01-16 19:36:55