Цитата:
Сообщение от 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