Лучший метод, чтобы заставить узел mysql работать быстрее? - PullRequest
0 голосов
/ 20 марта 2020

Я использую это

var mysql = require('mysql');

в моем приложении node.js. Я заинтересован, чтобы мое приложение работало быстрее. У меня есть много функций, которые подключаются к SQL. Существует 2 подхода, с которыми я знаком

  1. . Для каждого запроса я создаю новое соединение, а затем выполняю запрос и закрываю соединение.
  2. Откройте соединение и сделайте его глобальная переменная, а затем никогда не закрывать ее. Затем для каждого входящего запроса он просто использует открытое соединение, сохраненное глобально.

Что обычно лучше использовать? Также для номера 2, если сервер неожиданно закрывается, то соединение sql не закрывается. Это плохо?

Спасибо

1 Ответ

1 голос
/ 20 марта 2020

Подход 2 быстрее, но, чтобы избежать потенциальной проблемы разрыва соединения без неожиданного, вам нужно будет внедрить механизм тестирования для каждого сегмента, который запрашивает базу данных (например, подсчитать количество возвращаемых строк).

Чтобы продолжить этот подход, вы можете определить банк соединений или пул. Где вы можете заниматься тестированием и дистрибуцией соединений. Основная идея c состоит в том, чтобы иметь много соединений с базой данных и просто внедрять здоровые соединения с потребителями (функциями или объектами, которые запрашивают базу данных). Как упоминает Эндрю в комментариях, вы можете проверить этот вопрос: node.js + mysql пул соединений

Поскольку база данных является важным активом проекта, если это не домашняя работа или учебный проект, это может быть неплохой идеей для изучения сторонних библиотек, в которых большая часть подключений и деталей безопасности скрыта и автоматизирована.

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