Показать сообщение отдельно
Старый 03.08.2010, 16:34   #7
LLIbIcpEP
Новичок
 
Аватар для LLIbIcpEP
 
Регистрация: 08.03.2010
Сообщений: 20
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 1 сообщении
LLIbIcpEP На верном пути
По умолчанию

Цитата:
Сообщение от Konctantin Посмотреть сообщение
это как? вы что то не так поняли:
http://github.com/LordJZ/spellwork_c...ySQLConnect.cs

вот посмотрите, один раз идет подключение, а потом делайте что хотите, пока не закроете соединение...


ЗЫ... сори, не тут, тут идет закрытие, но все зависит от вас, как сделаете, так и будет... просто после команды не закрываайте соединение...
Я так и делал раньше. Просто мой класс DBLayer более абстрактный. Раньше было так - создавался во время запуска его экземпляр как синглтон, потом через него все действия с мускулом происходили. Почему именно синглтон - потому что сервер многопоточный, как же из разных потоков к одному экземпляру, как не через синглтон... Так вот, было так: в строке соединения был включен пулинг, при каждом запросе открытие-запрос-закрытие соединения. Согласно документации должен юзаться пул соединений, т.е. при _conn.Close() соединение физически не закрывается, а отправляется в пулл.
Но потом делал анализатор гм-логов, и увидел как все это криво работает. В строке отключил пулинг, и перестал закрывать соединение - все заработало намного быстрее.
Вот как у меня: http://code.google.com/p/wwl3-server.../DB/DBLayer.cs
PS: А используется это все примерно так: http://code.google.com/p/wwl3-server.../DB/DBWorld.cs http://code.google.com/p/wwl3-server.../DBProvider.cs

Последний раз редактировалось LLIbIcpEP; 03.08.2010 в 16:41.
LLIbIcpEP вне форума   Ответить с цитированием