Я однажды пытался оставить соединение открытым - я использовал его, чтобы заполнить ретранслятор или что-то еще - не помню сейчас.
Позже в программе у меня была другая необходимость использовать соединение -- Я думаю, у меня было так, что, когда пользователь щелкал родительский элемент в повторителе, всплывал подробный div с дополнительной информацией для этого элемента.Это породило ошибку - что-то вроде «не могу открыть () для открытого соединения».
Я думаю, что ошибки можно было избежать другим способом (например, проверить, пытался ли я установить соединение)open был уже открыт), но, подумав об этом, я понял, что должен сделать это стандартной практикой для всего своего приложения, и это казалось слишком большой работой, поэтому я просто сделал стандартной практикой всегда закрывать свои соединенияпосле каждого использования.
Соединения остаются в пуле соединений - я не в этом разбираюсь - но если бы мне было интересно узнать производительность, думаю, я бы учел это с точки зрения стоимости.открывать соединение несколько раз - в зависимости от того, чего требует ваша ситуация.
Другая мысль состоит в том, что администратор вашей БД может принудительно закрыть все открытые соединения, или БД может закрыться по какой-то другой причине.Если вы не dba, вы можете подумать о риске / выгоде зависимости от того, что вы не можете контролировать в течение длительного времени, например, от того, что соединение открыто.