2

我在我的 sql 数据库中使用 nodejs 和SequelizeJS 。

在我验证连接后,

sequelize
  .authenticate()
  .then(() => {
    console.log('Connection has been established successfully.');
  })
  .catch(err => {
    console.error('Unable to connect to the database:', err);
  });
  1. Sequelize每次执行 SQL 命令时都会打开一个新连接,还是保持一个打开的连接并重用它?

  2. 我该如何验证呢?

4

1 回答 1

2

Sequelize 是在每次执行 SQL 命令时打开一个新连接还是保持打开的连接并重用它?

Sequqlize 将尝试重用它在其池中的现有连接。默认配置如下所示。你可以在这里查看源代码

const defaultPoolingConfig = {
  max: 5,
  min: 0,
  idle: 10000,
  acquire: 10000,
  evict: 10000,
  handleDisconnects: true
};

如果应用程序需要更多连接并且当前连接数小于最大值,sequelize 将尝试创建新连接。

我该如何验证呢?

您可以pool.create在 sequelize 的方法中添加日志记录以查看是否建立了新连接。在数据库日志中也应该可以,但我不确定。

于 2018-06-25T03:50:52.050 回答