日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

二級索引

當您需要使用不同屬性作為查詢條件來執行數據查詢時,您可以將這些屬性作為二級索引的主鍵列,以實現按照屬性快速查詢數據的需求。創建二級索引后,您只需向數據表中寫入數據,然后根據索引表進行查詢。本文介紹如何通過Tablestore CLI創建二級索引、查看索引表信息、使用索引表查詢數據、導出數據以及刪除索引表。

前提條件

  • 已創建數據表,且數據表的最大版本數(max Versions)必須為1。更多信息,請參見數據表操作

  • 已為數據表創建預定義列。更多信息,請參見數據表操作

創建二級索引

說明

二級索引包括全局二級索引和本地二級索引。更多信息,請參見二級索引簡介

命令格式

create_index -t <tableName> -n <indexName> -i <indexType> --pk <primaryKeyName,primaryKeyName> --attr <definedColumn,definedColumn>

配置項說明請參見下表。

配置項

是否必填

示例值

說明

-t,--table

mytable

數據表名稱。

-n,--name

index0

二級索引名稱。

-i,--index_type

global

二級索引類型。取值范圍如下:

  • global(默認):全局二級索引。

    使用全局索引時,表格存儲以異步方式將數據表中被索引的列和主鍵列的數據自動同步到索引表中,正常情況下同步延遲達到毫秒級別。

  • local:本地二級索引。

    使用本地二級索引時,表格存儲以同步方式將數據表中被索引的列和主鍵列的數據自動同步到索引表中,當數據寫入數據表后,即可從索引表中查詢到數據。

-k,--pk

uid,pid

索引表的索引列,索引列為數據表主鍵和預定義列的組合。

使用本地二級索引時,索引表的第一個主鍵列必須與數據表的第一個主鍵列相同。

-a,--attr

col0,col1

索引表的屬性列,索引表屬性列為數據表的預定義列的組合。

-b,--without_base_data

不涉及

構建二級索引時不包括數據表中的存量數據。

示例

以下示例用于為數據表mytable創建全局二級索引index0,該二級索引包含存量數據。

create_index -t mytable -n index0 -i global --pk uid,pid -a name,col0

以下示例用于為數據表mytable創建全局二級索引index1,該二級索引不包含存量數據。

create_index -t mytable -n index1 -i global --pk uid,pid -a name,col0 -b

以下示例用于為數據表mytable創建本地二級索引index2,該二級索引包含存量數據。

create_index -t mytable -n index2 -i local -k uid,name -a col0,col1

使用表

選擇需要進行操作的表,用于后續表操作或者數據操作。

命令格式

use --wc -t <tableName>

配置項說明請參見下表,

配置項

是否必填

示例值

說明

--wc

不涉及

表示操作的表為數據表或者索引表。

-t,--table

index0

索引表名稱。

示例

使用索引表index0。

use -t index0

查看二級索引信息

查看表的信息。您也可以將表信息保存到本地JSON格式的文件中。

命令格式

desc -t <tableName> -o /localpath/filename.json

配置項說明請參見下表。

配置項

是否必填

示例值

說明

-t,--table

index0

數據表或者索引表名稱。

-f,--print_format

json

表信息的輸出格式。取值范圍包括json(默認)和table

-o,--output

/tmp/describe_table_meta.json

輸出表信息到本地JSON格式的文件中。

示例

以下示例用于查看當前表的信息。

desc

以下示例用于查詢當前表的信息并將表信息保存到本地文件describe_table_meta.json中。

desc -o  /tmp/describe_table_meta.json

使用二級索引查詢數據

讀取單行數據

讀取表中的數據。您也可以將讀取的數據導出到本地JSON格式的文件中。

說明

如果讀取的數據行不存在,則返回結果為空。

命令格式

get --pk '[primaryKeyValue,primaryKeyValue]'

配置項說明請參見下表。

配置項

是否必填

示例值

說明

-p,--pk

["86",6771]

數據表主鍵的值,以數組表示。

重要

設置的主鍵個數和類型必須和數據表的主鍵個數和類型一致。

--columns

name,uid

讀取的列集合,列名可以是主鍵列或屬性列。如果不設置返回的列名,則返回整行數據。

--max_version

1

最多讀取的版本數。

--time_range_start

1626860469000

讀取版本號范圍內的數據。time_range_start和time_range_end分別表示起始時間戳和結束時間戳,范圍為左閉右開區間。

--time_range_end

1626865270000

--time_range_specific

1626862870000

讀取特定版本號的數據。

-o, --output

/tmp/querydata.json

輸出查詢結果到本地JSON格式的文件中。

示例

以下示例用于讀取第一主鍵列值為“86”,第二主鍵列值為6771的行數據。

get --pk '["86",6771]'

掃描數據

掃描獲取整表中所有數據或者獲取最多指定個數的行數據。

命令格式

scan --limit limit

配置項說明請見下表。

配置項

是否必填

示例值

說明

--limit

10

本次掃描返回的最大行數,可不配置。如果不設置此項,則表示掃描整表中所有數據。

示例

以下示例用于掃描獲取數據表中的最多10行數據。

scan --limit 10

導出數據

導出表中數據到本地JSON文件中。

命令格式

scan -o /localpath/filename.json -c attributeColumnName,attributeColumnName,attributeColumnName

配置項說明請參見下表。

配置項

是否必填

示例值

說明

-c, --columns

uid,name

導出的列集合,列名可以是主鍵列或屬性列。如果不設置列名,則導出整行數據。

--max_version

1

最多導出的版本數。

--time_range_start

1626865596000

導出版本號范圍內的數據。time_range_start和time_range_end分別表示起始時間戳和結束時間戳,范圍為前閉后開區間。

--time_range_end

1626869196000

--time_range_specific

1626867396000

導出特定版本號的數據。

--backward

不涉及

導出數據按照主鍵降序排列。

-o, --output

/tmp/mydata.json

輸出查詢結果到本地指定路徑的JSON格式文件中。

-l,--limit

10

本次查詢最多返回的行數。

-b,--begin

'["86", 6771]'

導出范圍起始點和結束點之間的數據。主鍵范圍為前閉后開的區間。

-e,--end

'["86", 6775]'

示例

  • 示例1

    以下示例用于導出當前表中全部數據到本地文件mydata.json。

    scan -o /tmp/mydata.json
  • 示例2

    以下示例用于導出當前表中uid和name列的數據到本地文件mydata.json。

    scan -o /tmp/mydata.json -c uid,name
  • 示例3

    以下示例用于導出當前表中在指定主鍵范圍內的數據到本地文件mydata.json。其中起始點的第一主鍵列為“86”,第二主鍵列為6771,結束點的第一主鍵列為“86”,第二主鍵列為6775。

    scan -o D:\\0testreport\\myh3.json -b '["86", 6771]' -e '["86", 6775]'

刪除二級索引

刪除不需要的索引表。

命令格式

drop_index -t <tableName> -i <indexName> -y

配置項說明請參見下表,

配置項

是否必填

示例值

說明

-t,--table

mytable

數據表名稱。

-i,--index

index0

二級索引名稱。

-y,--yes

不涉及

顯示確認信息。命令中必須帶有此配置項。

示例

以下示例用于刪除當前數據表的索引表index0。

drop_index -i index0 -y

以下示例用于刪除數據表mytable的索引表index0。

drop_index -t mytable -i index0 -y