美文网首页
项目数据库支持存储过程的部署吗

项目数据库支持存储过程的部署吗

作者: WilsonLoo | 来源:发表于2020-10-10 11:50 被阅读0次

    项目数据库支持存储过程的部署吗?我主要有以下几个考量点:

    1、在数据库异步编程方式下,有些操作不能仅仅用一个select完成,例如获取一个账号的所有角色信息,需要进行【联表查询】AccoutInfo & Player,当前的方式是在c++先从 AccountInfo 异步获取账号对应的角色ID,再逐个访问 Player表 异步获取完整信息,全部完成后再统一发送给GameServer;当然也可以用c++拼接一个长语句用 mysql内部的【联表查询】,或者用存储过程简化多个异步访问。

    2、难免还有其他的数据库操作是不能一步到位,例如我以前对接过qq平台,对外提供一个接口:为指定账号赠送礼包 GiveGift(账号,qq黄钻等级),为了达到“数据库事务”,使用了存储过程,该存储过程至少要进行几个操作:账号有效性、账号的角色列表有效性、不同qq黄钻等级的礼包奖励信息、玩家表写标记、奖励礼包通过邮件发送;如果通过GM后台用c++代码实现,也不是不可以,只是增加了复杂度,当然这个用存储过程页游弊端:例如调试比较复杂。

    3、另外一个,我不知道mysqlpp 的 quote* 的源码有没有做 转义处理;如果是上线后是否需要对玩家输入相关的节点上做防sql注入(例如角色名、聊天内容、邮件相关、查找过滤功能等)

    相关文章

      网友评论

          本文标题:项目数据库支持存储过程的部署吗

          本文链接:https://www.haomeiwen.com/subject/kuwdpktx.html