O Go database/sql é uma interface genérica para bancos de dados SQL (ou semelhantes a SQL) para a linguagem de programação Go. Para usar database/sql com seu aplicativo, use o driver database/sql do Spanner.
O driver Spannerdatabase/sql é compatível com bancos de dados de dialeto do GoogleSQL e do PostgreSQL.
Instalar o driver database/sql do Spanner
Para usar o driver database/sql do Spanner no aplicativo, adicione o módulo a seguir ao arquivo go.mod:
github.com/googleapis/go-sql-spanner
Usar o driver database/sql do Spanner
Para criar uma conexão database/sql com um banco de dados do Spanner, use spanner como o nome do driver e um nome de banco de dados totalmente qualificado como a string de conexão:
GoogleSQL
PostgreSQL
Para mais informações, consulte o repositório do GitHub do driver database/sql do Spanner.
Recursos compatíveis
O diretório de código de exemplos do banco de dados/sql do Spanner Go contém exemplos prontos para execução de recursos do Spanner usados com frequência.
Dicas de desempenho
Para ter o melhor desempenho possível ao usar o driver database/sql do Spanner, siga estas práticas recomendadas:
- Parâmetros de consulta: Use parâmetros de consulta em vez de valores inline em instruções SQL. Isso permite que o Spanner armazene em cache e reutilize o plano de execução para instruções SQL usadas com frequência.
- Linguagem de definição de dados (DDL): agrupe várias instruções DDL em um lote em vez de executá-las uma por uma.
- Linguagem de manipulação de dados (DML): agrupe várias instruções DML em um lote em vez de executá-las uma por uma.
- Transações somente leitura: use transações somente leitura para cargas de trabalho que apenas leem dados. As transações somente leitura não fazem bloqueios.
- Tags: Use tags de solicitação e de transação para resolver problemas.
A seguir
- Saiba mais sobre como usar o Spanner com os exemplos de código do driver database/sql .
- Saiba mais sobre o database/sql.
- Use o GORM com o Spanner.
- Registre um problema no GitHub para relatar uma solicitação de recurso ou bug ou para fazer uma pergunta sobre o driver database/sql do Spanner.