golang. Правильное подключение к бд

как правильно подключатся к бд?

var (db *sql.DB)
        
func dbConnect {
        
  database, err := sql.Open("mysql", "root:password@/productdb")  
  db = database;
}

func GetDB() *sql.DB {
  return db;
}

func CloseDB() error {
  return db.Close();
}

Как лучше всего подключатся к бд. И стоит ли закрывать соединение после каждой обработки запроса. То есть, я открываю бд, я добавлю значение в бд, после запроса я закрываю её. - хорошо ли это? Или стоит открыть один раз бд и просто обрабатывать запрос, и так каждый раз. Простите за такой вопрос, но я немного не понимаю как правильно реализовать подключение.


Ответы (1 шт):

Автор решения: Nik

Смотря как ты хочешь/задумал. Открывать каждый раз заново соединение - плохая практика.

Единственное что нужно не забыть сделать - закрыть соединение когда ты закончишь работу с соединением

// Подключаешься к БД в функции main
dbConnect()
defer db.Close()
// Продолжение программы...
→ Ссылка