【问题标题】:How many connections are used in a Sequelize transactionSequelize 事务中使用了多少个连接
【发布时间】:2020-05-10 01:02:45
【问题描述】:

Sequelize's transaction 是否在提交或回滚后自动返回连接池? (我在没有特定配置的情况下将 Sequelize 与 MSSQL 一起使用)?我的事务是手动创建和管理的,所有查询都使用{transaction: t} 选项传递。我有两个问题:

  1. 如果在提交或回滚后连接没有自动返回到池中,我该如何强制这样做?
  2. 我在事务中的 CRUD 查询存储在一个数组中。据我了解,事务从池中获取一个连接,如果是这样,使用Promise.all(queries) 比运行queries.forEach(q => await q) 有什么好处?

【问题讨论】:

    标签: node.js promise transactions sequelize.js


    【解决方案1】:
    1. 您应该查看默认连接池参数:

    options.pool.idle - 连接在被释放之前可以空闲的最长时间(以毫秒为单位)。

    options.pool.evict - 时间间隔,以毫秒为单位,之后 sequelize-pool 将删除空闲连接。

    这意味着在事务提交或回滚后,其连接变为空闲并由上述选项管理。 2.完全没有任何好处,事务在SQL语句执行顺序的情况下应该是可预测和可靠的(后面的变化必须需要之前的变化)

    【讨论】:

      猜你喜欢
      • 2017-10-05
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2012-01-08
      • 1970-01-01
      相关资源
      最近更新 更多