gpt4 book ai didi

node.js - Sequelize 命中数据库,为每个事务命令提供新查询

转载 作者:行者123 更新时间:2023-12-03 22:24:49 30 4
gpt4 key购买 nike

我已经按照本教程进行了 Sequelize 交易:
https://sequelize.org/master/manual/transactions.html
它确实有效,但我注意到对于该代码中的每个命令,sequelize 都会向数据库服务器发送一个查询并等待响应。
这是一个问题的原因是因为我的数据库服务器并没有真正靠近我的 Node 服务器,所以每次往返都可能很昂贵。
这看起来非常浪费。由于所有 sequelize 实际上都是将 js 代码转换为 MySQL 语法,因此仅构建查询然后将其全部发送到数据库不是更有效吗?或者至少,避免在调用 sequelize.transaction() 时发送查询并在后续命令上发送“开始事务”。
那么基本上有没有办法用多行查询代码创建一个事务,然后将其一次性发送到数据库?

最佳答案

不幸的是,您想要做的似乎是 ORM 的反模式,其中包括 sequelize.js。 ORM 是管理数据库连接而不是查询本身的功能方式。
您可能想使用 查询构建器 代替。看一下这个。 http://knexjs.org/
查询构建器和 ORM 之间的区别

  • ORM 为您提供与数据库的连接,您可以使用 API 运行查询。在大多数情况下,查询对用户是黑箱的。
  • 查询构建器 API 在用户将生成的查询放入数据库连接之前不会运行查询。

  • 此外, 事务 将用于回滚和提交以保持相同的上下文(google atomicity )并且不能将查询放在一起以减轻网络工作负载。

    关于node.js - Sequelize 命中数据库,为每个事务命令提供新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65470195/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com