Открывает ли Sequelize новое соединение с базой данных для каждого выполнения запроса - PullRequest
0 голосов
/ 23 июня 2018

Я использую nodejs и SequelizeJS для моей базы данных sql.

После проверки соединения

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. Как я могу это проверить?

1 Ответ

0 голосов
/ 25 июня 2018

Открывает ли Sequelize новое соединение каждый раз, когда выполняет SQL-команда или она сохраняет открытое соединение и использует его повторно?

Sequqlize попытается повторно использовать существующее соединение, которое оно имеет в своем пуле. Конфигурация по умолчанию выглядит следующим образом. Вы можете посмотреть исходный код здесь

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

Если приложению требуется больше подключений, а текущее число подключений меньше максимального, sequelize попытается создать новое подключение.

Как я могу это проверить?

Вы можете добавить запись в методе pool.create в sequelize, чтобы увидеть, установлено ли новое соединение. Это также должно быть возможно в журнале базы данных, но я не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...