此頁面提供最佳做法和特定程式設計語言的程式碼範例,幫助您建立應用程式,有效率地使用 Cloud SQL 資料庫連線。
這些範例是完整網頁應用程式的摘錄內容,您可以在 GitHub 上取得完整應用程式。瞭解詳情。
如需逐步操作說明,瞭解如何執行連線至 Cloud SQL 的範例網頁應用程式,請點選下列適用於您環境的連結:
- 快速入門導覽課程:從本機電腦建立連線
- 從 Compute Engine 連線的快速入門
- 快速入門導覽課程:從 Cloud Run 連線
- 快速入門導覽課程:從 Cloud Run functions 連線
- 從 Google Kubernetes Engine 連線的快速入門指南
連線集區
連線集區是資料庫連線的快取,系統會共用和重複使用此快取,藉此縮短連線延遲時間和改善連線效率。當您的應用程式需要資料庫連線時,會從集區暫時借出連線;使用完畢後,應用程式會將連線還給集區,以便下次需要資料庫連線時能重複使用。
透過 TCP 連線
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
注意:
- CLOUD_SQL_CONNECTION_NAME 應表示為 <MY-PROJECT>:<INSTANCE-REGION>:<INSTANCE-NAME>
- 使用 ipTypes=PRIVATE 引數會強制 SocketFactory 連線至執行個體相關聯的私人 IP
- 請參閱 pom.xml 檔案的 JDBC 通訊端處理站版本規定。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
透過 Unix 通訊端連線
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
如要查看網頁應用程式中的程式碼片段,請參閱 GitHub 上的 README。
開啟及關閉連線
您使用連線集區時,必須正確開啟和關閉連線,以確保連線在您每次使用完畢後都會回到集區。未回到集區的連線 (或稱「外洩」連線) 將無法重複使用,因而造成資源浪費,也可能導致應用程式效能瓶頸。
連線計數
每個資料庫連線都會使用用戶端和伺服器端資源。此外,Cloud SQL 也會強制執行整體連線限制,不得超過。建立及使用較少的連線可減少負擔,並協助您維持在連線限制內。
PDO 目前未提供任何可設定連線限制的功能。
指數輪詢
如果您的應用程式嘗試連線至資料庫卻未成功,原因可能是資料庫暫時無法提供服務。在這種情況下,重複傳送連線要求會浪費資源。建議您先等待,再傳送其他連線要求,讓資料庫恢復存取權。使用指數輪詢或其他延遲機制,即可達成這個目標。
只有在首次連線或首次從集區擷取連線時,重試才有意義。如果在交易期間發生錯誤,應用程式必須重試,且必須從交易開始時重試。因此,即使集區設定正確,如果連線中斷,應用程式仍可能會看到錯誤。
database/sql 套件目前未提供任何可設定指數輪詢的功能。
PDO 目前未提供任何可設定指數輪詢的功能。
連線逾時
嘗試連線失敗的原因有很多,例如網路通訊的不穩定,以及資料庫可能暫時無法回應。請確保應用程式能妥善處理連線中斷或連線失敗的情況。
database/sql 套件目前未提供任何可設定連線逾時的功能。逾時是在驅動程式層級設定。
連線持續時間
限制連線效期可避免捨棄的連線越積越多。您可以使用連線集區來限制您的連線效期。
「knex」Node.js 程式庫目前未提供任何可控制連線持續時間的功能。
ActiveRecord 目前未提供任何可控制連線持續時間的功能。
PDO 目前未提供任何可控制連線持續時間的功能。
查看完整的應用程式
如要查看完整的應用程式,請按一下下方連結。
查看以 Python 程式設計語言撰寫的完整應用程式。
查看以 Java 程式設計語言撰寫的完整應用程式。
查看以 Node.js 程式設計語言撰寫的完整應用程式。
查看以 C# 程式設計語言撰寫的完整應用程式。
查看以 Go 程式設計語言撰寫的完整應用程式。
查看以 Ruby 程式設計語言撰寫的完整應用程式。
查看以 PHP 程式設計語言撰寫的完整應用程式。