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