sql.DB управляет пулом соединений. SetMaxOpenConns(n) - макс. открытых соединений; SetMaxIdleConns(n) - макс. в пуле простоя; SetConnMaxLifetime(d) - время жизни соединения. Рекомендуется задавать под лимиты БД и нагрузку. Не открывать новую DB на каждый запрос - один экземпляр на приложение. Закрытие: db.Close() при shutdown.
db.SetMaxOpenConns(25)
db.SetMaxIdleConns(5)
db.SetConnMaxLifetime(5 * time.Minute)