Открывает ли Sequelize новое соединение с базой данных для каждого выполнения запроса
Я использую nodejs и SequelizeJS для моей базы данных sql.
После того, как я проверю соединение,
sequelize
.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
Есть ли
Sequelize
открывать новое соединение каждый раз, когда он выполняет SQL-команду или оно сохраняет открытое соединение и использует его повторно?Как я могу это проверить?
1 ответ
Открывает ли Sequelize новое соединение каждый раз, когда выполняет SQL-команду, или сохраняет открытое соединение и повторно использует его?
Sequqlize попытается повторно использовать существующее соединение в своем пуле. Конфигурация по умолчанию выглядит следующим образом. Вы можете посмотреть исходный код здесь
const defaultPoolingConfig = {
max: 5,
min: 0,
idle: 10000,
acquire: 10000,
evict: 10000,
handleDisconnects: true
};
Если приложению требуется больше подключений, а текущее число подключений меньше максимального, sequelize попытается создать новое подключение.
Как я могу это проверить?
Вы можете добавить запись в pool.create
метод в продолжение, чтобы увидеть, если новое соединение сделано. Это также должно быть возможно в журнале базы данных, но я не уверен.