Как вы заметили в документах https://godoc.org/github.com/gocql/gocql#Query. Release, запрос действительно возвращается в пул.Его следует использовать, когда вы больше не хотите использовать конкретный запрос.
Неизданный запрос можно использовать повторно, если вы хотите сделать его более производительным, поскольку вам не нужно выполнять какую-либо инициализацию,всегда происходит при создании запроса.
Точно, когда каждый из них должен использоваться, конечно, зависит от вашего случая, но общий принцип такой же, как и выше.Обычно вы бы ставили defer q.Release()
сразу после создания запроса, но это зависит от вашего точного варианта использования.
Что касается gocqlx.GetRelease()
, то он делает это для вас под капотом, чтобы обеспечить очень удобный и безопасный способзапросить и получить результат без необходимости выполнять очистку.