Я натолкнулся на документацию, в которой говорится:
sql .DB объект предназначен для длительного использования. Не открывайте () и не закрывайте базы данных часто. Вместо этого создайте один sql .DB-объект для каждого отдельного хранилища данных, к которому вам нужно получить доступ
source
И, немного покопавшись, я обнаружил, что в основном открываемый код соединение в файле обработчика так:
func dbConn() (db *sql.DB) {
dbDriver := "mysql"
dbUser := "root"
dbPass := "root"
dbName := "goblog"
db, err := sql.Open(dbDriver, dbUser+":"+dbPass+"@/"+dbName)
if err != nil {
panic(err.Error())
}
return db
}
source
И для доступа к БД
db := dbConn()
Это вызывается в функциях который должен использовать его, насколько я понимаю, это откроет соединение, а затем закроет его, когда оно достигнет конца указанной функции.
Не будет ли это нарушать приведенную выше цитату?