Вы не говорите, в чем проблема. Это производительность? Если да, то на каких столах?
Действительно ли соединения являются причиной проблемы? Или это хранимые процедуры? Вы не знаете (или, по крайней мере, не говорите).
Лучшая практика: выясните, где ваши узкие места, прежде чем пытаться решить проблему, которую вы еще не диагностировали.
При редактировании: мне вспоминается время, когда на работе возникали проблемы с производительностью. очень медленные хранимые процедуры, которые могут занять минуты. Оказалось, что эти sps выполняли совершенно нормальные обновления таблиц, , но с использованием курсоров . Для таких простых вещей, как update t set c = c + 1 where id = n
.
Итак, чтобы сделать обновление, мы курсировали по ряду строк с помощью дорогостоящего курсора обновления и declare cursor for "select c from t where id = n" for update;
затем открывали курсор и читали и проверяли на наличие ошибок, а также цикл с проверкой на чтение и на ошибку, а затем select c into @c; @c = c + 1; update t set c = @c where current of cursor;
за каждое обновление.
Оказалось, парень, который написал это, не понимал, что мы можем просто выпустить заявление об обновлении. И поэтому он написал десятки этих медленно хранимых процедур. Нам даже не нужно было избавляться от хранимых процедур (хотя это также позволило бы нам получить некоторую скорость, это изменило бы наш клиент); мы просто избавились от курсоров, заменив их операторами обновления. Проблемы с производительностью исчезли.