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

創(chuàng)建二級索引

更新時(shí)間:

二級索引相當(dāng)于把數(shù)據(jù)表的主鍵查詢能力擴(kuò)展到了不同的列,當(dāng)需要使用屬性查詢數(shù)據(jù)時(shí),您可以通過創(chuàng)建二級索引加快數(shù)據(jù)查詢的效率。設(shè)置預(yù)定義列后,在創(chuàng)建二級索引時(shí)將預(yù)定義列作為索引表的索引列或者屬性列。創(chuàng)建二級索引后,您可以使用二級索引進(jìn)行數(shù)據(jù)查詢。

說明
  • 二級索引包括全局二級索引和本地二級索引。關(guān)于二級索引的更多信息,請參見二級索引

  • 您也可以使用CreateTable接口在創(chuàng)建數(shù)據(jù)表的同時(shí)創(chuàng)建一個(gè)或者多個(gè)索引表。具體操作,請參見創(chuàng)建數(shù)據(jù)表

前提條件

  • 已初始化Client。具體操作,請參見初始化OTSClient

  • 已創(chuàng)建數(shù)據(jù)表,且數(shù)據(jù)表的最大版本數(shù)(max_version)必須為1,數(shù)據(jù)生命周期(time_to_live)必須滿足如下條件中的任意一個(gè)。具體操作,請參見創(chuàng)建數(shù)據(jù)表

    • 數(shù)據(jù)表的數(shù)據(jù)生命周期為-1(數(shù)據(jù)永不過期)。

    • 數(shù)據(jù)表的數(shù)據(jù)生命周期不為-1時(shí),數(shù)據(jù)表為禁止更新狀態(tài)(即是否允許更新)。

  • 數(shù)據(jù)表已設(shè)置預(yù)定義列。

注意事項(xiàng)

  • 索引表名稱不能與已存在的時(shí)序表名稱和數(shù)據(jù)表名稱相同。

  • 創(chuàng)建二級索引時(shí),系統(tǒng)會(huì)自動(dòng)將未出現(xiàn)在索引列中的數(shù)據(jù)表主鍵補(bǔ)齊到索引表主鍵中。

  • 創(chuàng)建本地二級索引時(shí),索引表的第一列主鍵必須與數(shù)據(jù)表的第一列主鍵相同。

參數(shù)

參數(shù)

說明

main_table_name

數(shù)據(jù)表名稱。

index_meta

索引表的結(jié)構(gòu)信息,包括如下內(nèi)容:

  • index_name:索引表名稱。

  • primary_key_names:索引表的索引列,索引列為數(shù)據(jù)表主鍵和預(yù)定義列的組合。

    使用本地二級索引時(shí),索引表的第一個(gè)主鍵列必須與數(shù)據(jù)表的第一個(gè)主鍵列相同。

  • defined_column_names:索引表的屬性列,索引表屬性列為數(shù)據(jù)表的預(yù)定義列的組合。

  • index_type:索引類型。可選值包括IT_GLOBAL_INDEXIT_LOCAL_INDEX。

    • 當(dāng)不設(shè)置index_type或者設(shè)置index_typeIT_GLOBAL_INDEX時(shí),表示使用全局二級索引。

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

    • 當(dāng)設(shè)置index_typeIT_LOCAL_INDEX時(shí),表示使用本地二級索引。

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

include_base_data

索引表中是否包含數(shù)據(jù)表中已存在的數(shù)據(jù)。

當(dāng)設(shè)置include_base_dataTrue時(shí),表示包含存量數(shù)據(jù);當(dāng)設(shè)置include_base_dataFalse時(shí),表示不包含存量數(shù)據(jù)。

示例

創(chuàng)建全局二級索引

以下示例用于在主鍵為pk1、pk2的數(shù)據(jù)表上創(chuàng)建主鍵列為definedcol1、pk1,屬性列為definedcol2、definedcol3的索引表。

# 構(gòu)造索引Meta。
# 依次設(shè)置索引表名稱、索引表主鍵列和屬性列。
index_meta = SecondaryIndexMeta('<INDEX_NAME>', ['definedcol1', 'pk1'], ['definedcol2', 'definedcol3'])
# 設(shè)置數(shù)據(jù)表名稱,不包含存量數(shù)據(jù)。
client.create_secondary_index('<TABLE_NAME>', index_meta, False)
# 設(shè)置數(shù)據(jù)表名稱,包含存量數(shù)據(jù)。
# 創(chuàng)建索引表后會(huì)開啟數(shù)據(jù)表中存量數(shù)據(jù)的同步,然后可以通過索引表查詢?nèi)繑?shù)據(jù),同步時(shí)間和數(shù)據(jù)量的大小有一定的關(guān)系。
# client.create_secondary_index('<TABLE_NAME>', index_meta, True)

創(chuàng)建本地二級索引

以下示例用于在主鍵為pk1、pk2的數(shù)據(jù)表上創(chuàng)建主鍵列為pk1、definedcol1,屬性列為definedcol2、definedcol3的索引表。

# 構(gòu)造索引Meta。
# 依次設(shè)置索引表名稱、索引表主鍵列、索引表屬性列和索引類型。
# 本地二級索引的第一列主鍵必須和數(shù)據(jù)表的第一列主鍵相同。
index_meta = SecondaryIndexMeta('<INDEX_NAME>', ['pk1', 'definedcol1'], ['definedcol2', 'definedcol3'],index_type= SecondaryIndexType.LOCAL_INDEX)
# 設(shè)置數(shù)據(jù)表名稱,不包含存量數(shù)據(jù)
client.create_secondary_index('<TABLE_NAME>', index_meta, False)
# 設(shè)置數(shù)據(jù)表名稱,包含存量數(shù)據(jù)。
# 創(chuàng)建索引表后會(huì)開啟數(shù)據(jù)表中存量數(shù)據(jù)的同步,然后可以通過索引表查詢?nèi)繑?shù)據(jù),同步時(shí)間和數(shù)據(jù)量的大小有一定的關(guān)系。
# client.create_secondary_index('<TABLE_NAME>', index_meta, True)

相關(guān)文檔

  • 創(chuàng)建二級索引后,您可以進(jìn)行單行讀取數(shù)據(jù)或范圍讀取數(shù)據(jù)操作。具體操作,請參見使用二級索引讀取數(shù)據(jù)

  • 如果不再需要使用二級索引,您可以刪除二級索引。具體操作,請參見刪除二級索引