調用SQLQuery介面使用SQL查詢資料。
請求訊息結構
message SQLQueryRequest {
required string query = 1;
optional SQLPayloadVersion version = 2;
optional int64 sql_version = 3;
}
名稱 | 類型 | 是否必選 | 描述 |
query | string | 是 | SQL語句。 |
version | 否 | SQL返回資料的編碼方式。 | |
sql_version | int64 | 否 | SQL協議版本,取值範圍如下:
|
響應訊息結構
message SQLQueryResponse {
repeated TableConsumedCapacity consumes = 1;
optional bytes rows = 2;
optional SQLPayloadVersion version = 3;
optional SQLStatementType type = 4;
}
名稱 | 類型 | 是否必選 | 描述 |
consumes | repeated TableConsumedCapacity | 是 | 本次操作消耗的服務能力單元。更多資訊,請參見服務能力單元消耗。 |
rows | bytes | 否 | 返回的行資料,由請求中指定的編碼方式進行編碼。 |
version | 是 | SQL返回資料的編碼方式。 | |
type | 是 | SQL語句類型。 |
使用SDK
服務能力單元消耗
SQL本身不會有額外的費用,但是使用SQL查詢資料過程中涉及到的表掃描、索引查詢等操作會產生費用。
單條SQL讀輸送量是執行該SQL時調用表與索引所產生的讀輸送量總和。消耗讀服務能力單元的數值為指定行所有主鍵列資料大小與實際讀取的屬性列資料大小之和除以4 KB向上取整。
如果請求逾時,結果未定義,則服務能力單元有可能被消耗,也可能未被消耗。
如果返回內部錯誤(HTTP狀態代碼:5XX),則此次操作不消耗服務能力單元,其他錯誤情況消耗1讀服務能力單元。