🟢 Лёгкий · 1 очк. SQL
Что представляет собой sql.DB в Go?
A Одно соединение с БД
B Пул соединений с БД
C ORM
D Драйвер БД
Объяснение вопроса

sql.DB - это пул соединений с БД, а не одно соединение. Он сам открывает, переиспользует и закрывает соединения. Создавать отдельный sql.DB на каждый запрос не нужно - один пул на приложение, передавать его в хендлеры и репозитории.

db, err := sql.Open("driver", dsn)
db.SetMaxOpenConns(25)
db.SetMaxIdleConns(5)
db.SetConnMaxLifetime(5 * time.Minute)
row := db.QueryRow("SELECT ...")
// соединение берётся из пула и возвращается после закрытия rows/statement
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.