Sequelize是否为每次查询执行打开到数据库的新连接

时间:2018-06-23 12:03:57

标签: node.js sequelize.js feathers-sequelize

我在SQL数据库中使用的是nodejs和SequelizeJS

我确认连接后,

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

  2. 如何验证?

1 个答案:

答案 0 :(得分:1)

  

Sequelize每次执行连接时是否打开新连接   SQL命令还是保持打开的连接并重复使用?

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

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

如果该应用需要更多连接,而当前连接数少于最大连接数,则sequelize将尝试创建新连接。

  

我如何验证?

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