Como eu nunca havia visto um benchmark para mostrar as diferenças entre, abrir uma conexão no início do programa e utilizá-la como dependência e, abrir uma nova conexão a cada chamada, resolvi fazê-la.
Embora a maioria das pessoas que converso saberem a resposta correta, não sei se, assim como eu, elas têm a ideia de quão grande é a diferença entre essas abordagens.
Mas antes de ver o resultado, mostrarei como construí o benchmark.
Conexão & Dados
Bem simples, para abrir a conexão sqlite3, criei uma função chamada Open
.
package connections import ( "database/sql" _ "github.com/mattn/go-sqlite3" ) // Open a connection with a sqlite3 database func Open() (*sql.DB, error) { return sql.Open("sqlite3", "test.db") }Leia mais »