Mysql:何时使用触发器

Lou*_*uis 7 mysql triggers

我目前正在制作一款在线多人棋类游戏.我想知道用户触发器是否适合登录每个动作.

然后,使用nodejs,我会重复检查触发器表并更新玩家和观察者的视觉效果.

由于我只需要在数据库中进行更改,因此可视化方面将自动跟进(使用重复功能检查数据库中已更改的数据).这样做的目的是将视觉效果与制作游戏所涉及的逻辑分开.

你们中的任何一个人都会推荐这种技术吗?

Kai*_*aii 7

您为任务描述了可能的技术解决方案.但我强烈建议不要这样做.

这不会很好地扩展 - 它会给数据库和应用程序服务器增加很多开销和负载.

还有其他轻量级可能性可以更好地扩展:

  • 使用与node_redis客户端一样的消息队列(例如)redis.它有内置的pubsub语义.
  • 抽象数据库调用并将所有数据库更新推送到消息队列.
  • 而不是使用"重复"功能(AJAX轮询)来获取状态更新,您可以使用HTTP流式传输,例如jquery-streamjquery-socket.这避免了为每个客户端更新打开新HTTP连接的开销.
  • 使用服务器端nodejs的事件驱动功能将新事件推送到客户端连接.