Тема: Nodejs и mysql
Показать сообщение отдельно
  #5 (permalink)  
Старый 03.08.2014, 15:19
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Примитивный пример

var connectionCache;
function createConnection(params) {
    connectionCache = connectionCache  || mysql.createConnection(params);
    return connectionCache;
}


Т.е. mysql.createConnection делается один раз, а затем возвращается ссылка из кеш переменной. Конечно лучше написать дочерний класс от mysql, который будет это делать, туда же можно добавить логику кеширования на уровне приложения.

***

Вообще желательно тщательно ознакомиться с докой фреймворка (если вы таковой юзаете) и драйвера БД. Посмотреть не делают ли они это сами, но суть проста: соединение - это очень дорогая операция и поэтому его нужно кешировать.

Что касается самой БД, то главное, чтобы она целиком влезала в оперативу и были нормальные индексы. Если база не влезает в оперативу целиком, то будет всё тормозить и придётся делать сегментирование. Если сегментирование не закладывать сразу, то потом будет мучительно больно всё переписывать
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 03.08.2014 в 15:24.
Ответить с цитированием