c ++ Mysql C API-соединение Вопрос - PullRequest
2 голосов
/ 19 ноября 2009

Я создаю приложение, которое использует Mysql, мне было интересно, как лучше всего управлять соединением с реальным сервером Mysql?

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

Мое приложение может выполнять несколько запросов каждые 5/10/20/30 минут в зависимости от настроек, и на самом деле ему не нужно ничего делать с SQL до этого времени.

Поэтому мне интересно, выгоднее ли использовать непрерывное соединение, существующее на протяжении всего жизненного цикла приложения (если это возможно), или просто подключиться к SQL, прежде чем я собираюсь его использовать, тогда сделайте то, что нужно приложению отключить?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2009

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

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

Если вы хотите стать умным, то, возможно, подключайтесь как и когда вам нужно, тогда поддерживайте соединение до тех пор, пока вы не прекратите делать запросы. Например, сбросьте соединение, если в течение 30 секунд не было запросов или что-то в этом роде.

1 голос
/ 19 ноября 2009

Сколько экземпляров этого приложения будет подключаться к MySQL? Если это только одно, сохранение соединения MySQL открытым для удобства не должно вызывать никаких проблем, но помните, что есть (настраиваемое) ограничение на количество соединений MySQL, которые вы можете открыть для сервера. В этом случае я бы порекомендовал открыть соединение, выполнить все необходимые запросы и затем закрыть его. Подключение к каждому запросу увеличивает нагрузку при добавлении запросов в приложение.

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