通過 Java SDK 查詢映射表的主鍵和關聯索引的名稱、欄位及索引類型等資訊。
前提條件
-
安裝Tablestore Java SDK並初始化用戶端。
-
使用 5.13.0 及以上版本的 Tablestore Java SDK。
功能說明
調用 sqlQuery 方法執行 SHOW INDEX 語句,查詢指定映射表的索引資訊。
SQLQueryResponse sqlQuery(SQLQueryRequest request)
查詢資料表映射時,結果包含主鍵以及該資料表下二級索引和多元索引的欄位資訊。查詢多元索引映射時,結果僅包含主鍵和指定多元索引的欄位資訊。
以下樣本查詢 example_search_index_mapping 多元索引映射的索引資訊,並讀取常用返回欄位。
SQLQueryRequest request =
new SQLQueryRequest("SHOW INDEX IN example_search_index_mapping");
SQLQueryResponse response = client.sqlQuery(request);
SQLResultSet resultSet = response.getSQLResultSet();
while (resultSet.hasNext()) {
SQLRow row = resultSet.next();
System.out.println(
row.getString("Table") + ", "
+ row.getString("Key_name") + ", "
+ row.getString("Column_name") + ", "
+ row.getString("Index_type"));
}
參數說明
SQLQueryRequest 包含以下參數。
|
名稱 |
類型 |
說明 |
|
query(必選) |
String |
要執行的 |
傳回值
SQLQueryResponse 包含以下與映射表索引相關的欄位。
|
欄位 |
類型 |
說明 |
|
|
SQLStatementType |
通過 |
|
|
ByteString |
索引資訊的序列化資料。通過 |
結果集欄位
SQLResultSet 中的每一行對應一個主鍵、二級索引或多元索引欄位,包含以下列。
|
欄位 |
類型 |
說明 |
|
|
String |
映射表名稱。 |
|
|
Long |
索引是否允許重複值。 |
|
|
String |
索引名稱。主鍵返回 |
|
|
Long |
欄位在索引中的順序,從 |
|
|
String |
索引欄位名稱。 |
|
|
String |
欄位是否為資料表的預定義列。 |
|
|
String |
多元索引欄位的查詢類型。 |
|
|
String |
欄位在索引中的排序方式。 |
|
|
Long |
索引中不同值數量的估算值。 |
|
|
Long |
索引欄位的前置長度。 |
|
|
String |
索引的壓縮方式。 |
|
|
String |
欄位是否允許為空白。 |
|
|
String |
索引類型。全域二級索引返回 |
|
|
String |
索引備忘。 |
|
|
String |
索引注釋。 |
|
|
String |
索引是否可見。 |
|
|
String |
索引運算式。 |