Go database/sql は、Go プログラミング言語の SQL(または SQL に似た)データベースを扱う汎用インターフェースです。アプリケーションで database/sql を使用するには、Spanner database/sql ドライバを使用します。
Spanner の database/sql ドライバをインストールする
アプリケーションで Spanner database/sql ドライバを使用するには、次のモジュールを go.mod
ファイルに追加します。
github.com/googleapis/go-sql-spanner
Spanner の database/sql ドライバを使用する
Spanner データベースへの database/sql 接続を作成するには、ドライバ名として spanner
を使用し、接続文字列として完全修飾データベース名を使用します。
詳細については、Spanner database/sql ドライバの GitHub リポジトリをご覧ください。
サポートされている機能
Spanner Go database/sql サンプルコード ディレクトリには、よく使用される Spanner 機能の実行可能なサンプルが含まれています。
パフォーマンスのヒント
Spanner database/sql ドライバを使用するときに可能な限り高いパフォーマンスを実現するには、次のベスト プラクティスに従ってください。
- クエリ パラメータ: SQL ステートメントでインライン値を使用する代わりに、クエリ パラメータを使用します。これにより、Spanner は頻繁に使用される SQL ステートメントの実行プランをキャッシュに保存して再利用できます。
- データベース定義言語(DDL): 1 つずつ実行するのではなく、複数の DDL ステートメントを 1 つのバッチにまとめて実行します。
- データ操作言語(DML): 1 つずつ実行するのではなく、複数の DML ステートメントを 1 つのバッチにまとめて実行します。
- 読み取り専用トランザクション: データを読み取るだけのワークロードには、読み取り専用トランザクションを使用します。読み取り専用トランザクションはロックを取得しません。
- タグ: リクエストタグとトランザクション タグを使用して、トラブルシューティングを行います。
次のステップ
- database/sql ドライバで Spanner を使用する方法を確認する。コードの例をご覧ください。
- database/sql の詳細を確認する
- Spanner で GORM を使用する。
- GitHub の問題を登録して、機能リクエストやバグを報告するか、Spanner database/sql ドライバについて質問する。