我在SQL数据库中使用的是nodejs和SequelizeJS。
我确认连接后,
UTF-8
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
每次执行SQL命令时是否打开一个新连接,还是保持打开的连接并重用它?
如何验证?
答案 0 :(得分:1)
Sequelize每次执行连接时是否打开新连接 SQL命令还是保持打开的连接并重复使用?
Sequqlize将尝试重用其池中现有的连接。默认配置如下所示。您可以查看源代码here
const defaultPoolingConfig = {
max: 5,
min: 0,
idle: 10000,
acquire: 10000,
evict: 10000,
handleDisconnects: true
};
如果该应用需要更多连接,而当前连接数少于最大连接数,则sequelize将尝试创建新连接。
我如何验证?
您可以在pool.create
方法中顺序添加日志记录,以查看是否建立了新连接。在数据库日志中也应该可以,但是我不确定。