全部產品
Search
文件中心

Tablestore:查詢映射表索引資訊

更新時間:Jul 31, 2026

通過 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

要執行的 SHOW INDEX IN <mapping_table_name> 語句,其中 mapping_table_name 為映射表名稱。

傳回值

SQLQueryResponse 包含以下與映射表索引相關的欄位。

欄位

類型

說明

type

SQLStatementType

通過 getSQLStatementType() 擷取 SQL 陳述式類型。執行 SHOW INDEX 語句時返回 SQL_SELECT

rows

ByteString

索引資訊的序列化資料。通過 getSQLResultSet() 擷取解析後的 SQLResultSet

結果集欄位

SQLResultSet 中的每一行對應一個主鍵、二級索引或多元索引欄位,包含以下列。

欄位

類型

說明

Table

String

映射表名稱。

Non_unique

Long

索引是否允許重複值。0 表示不允許,1 表示允許。

Key_name

String

索引名稱。主鍵返回 PRIMARY

Seq_in_index

Long

欄位在索引中的順序,從 1 開始。

Column_name

String

索引欄位名稱。

Is_defined_column

String

欄位是否為資料表的預定義列。

Search_type

String

多元索引欄位的查詢類型。

Collation

String

欄位在索引中的排序方式。

Cardinality

Long

索引中不同值數量的估算值。

Sub_part

Long

索引欄位的前置長度。

Packed

String

索引的壓縮方式。

Null

String

欄位是否允許為空白。

Index_type

String

索引類型。全域二級索引返回 GlobalIndex,本地二級索引返回 LocalIndex,多元索引返回 SearchIndex

Comment

String

索引備忘。

Index_comment

String

索引注釋。

Visible

String

索引是否可見。

Expression

String

索引運算式。