Todos os produtos
Search
Central de documentação

Tablestore:Secondary indexes

Última atualização: Sep 22, 2026

Crie e gerencie índices secundários com o CLI do Tablestore.

Pré-requisitos

  • O CLI do Tablestore instalado e configurado com credenciais de acesso. Para obter mais informações, consulte Tablestore CLI.

  • Uma tabela de dados com colunas predefinidas. O número máximo de versões (max versions) deve ser 1. Para obter mais informações, consulte Data table operations.

Criar um índice secundário

Crie um índice secundário global ou local para uma tabela de dados.

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

Parâmetro

Obrigatório

Descrição

-t, --table

Não

Nome da tabela de dados. Não é obrigatório se uma tabela de dados já estiver selecionada com use.

-n, --name

Sim

Nome do índice secundário.

-i, --index_type

Não

Tipo do índice secundário. Valores válidos:

  • global (padrão): índice secundário global. As colunas indexadas e as colunas de chave primária da tabela de dados são replicadas de forma assíncrona para a tabela de índice. A latência de sincronização geralmente é da ordem de milissegundos.

  • local: índice secundário local. Os dados são gravados de forma síncrona na tabela de índice e ficam disponíveis para consulta imediatamente após a gravação na tabela de dados.

-k, --pk

Sim

Colunas indexadas da tabela de índice, compostas por colunas de chave primária e colunas predefinidas da tabela de dados. Separe múltiplas colunas com vírgulas. Para um índice secundário local, a primeira coluna de chave primária da tabela de índice deve ser a mesma da tabela de dados.

-a, --attr

Sim

Colunas de atributo da tabela de índice, que são colunas predefinidas da tabela de dados. Separe múltiplas colunas com vírgulas.

-b, --without_base_data

Não

Exclui os dados existentes da tabela de dados ao criar o índice secundário. Por padrão, os dados existentes são incluídos.

Exemplos

  • Crie um índice secundário global chamado index0 para a tabela de dados mytable, incluindo os dados existentes.

    create_index -t mytable -n index0 -i global --pk uid,pid -a name,col0
  • Crie um índice secundário global chamado index1 para a tabela de dados mytable, excluindo os dados existentes.

    create_index -t mytable -n index1 -i global --pk uid,pid -a name,col0 -b
  • Crie um índice secundário local chamado index2 para a tabela de dados mytable.

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

Usar uma tabela de índice

Selecione uma tabela de índice para operações subsequentes de consulta e exportação.

use --wc -t <indexName>

Parâmetro

Obrigatório

Descrição

--wc

Não

Indica que a tabela especificada é uma tabela de dados ou tabela de índice, e não um search index.

-t, --table

Sim

Nome da tabela de índice.

Exemplos

Use a tabela de índice index0.

use -t index0

Visualizar informações do índice

Execute o comando desc para visualizar informações sobre uma tabela de dados e seus índices secundários.

desc -t <tableName>

Parâmetro

Obrigatório

Descrição

-t, --table

Não

Nome da tabela de dados ou da tabela de índice. Não é obrigatório se uma tabela já estiver selecionada com use.

-f, --print_format

Não

Formato de saída. Valores válidos: json (padrão) e table.

-o, --output

Não

Exporta as informações da tabela para um arquivo JSON local.

Exemplos

  • Visualize as informações da tabela atual.

    desc
  • Salve as informações da tabela em um arquivo local.

    desc -o /tmp/describe_table_meta.json

Ler dados

Leia uma única linha de dados de uma tabela de índice pela chave primária.

Nota

Se a linha especificada não existir, o sistema retornará um resultado vazio.

get --pk '<pk_values>'

Parâmetro

Obrigatório

Descrição

-k, --pk

Sim

Valores de chave primária da tabela de índice, expressos como um array JSON. A quantidade e os tipos das colunas de chave primária devem corresponder aos da tabela de índice.

-c, --columns

Não

Colunas a serem lidas. Especifique colunas de chave primária ou colunas de atributo. Separe múltiplas colunas com vírgulas. Se não especificado, a linha inteira é retornada.

--max_version

Não

Número máximo de versões a serem lidas.

--time_range_start

Não

Lê dados dentro de um intervalo de números de versão. time_range_start e time_range_end especificam os timestamps de início e fim, respectivamente. O intervalo é fechado à esquerda e aberto à direita: [start, end).

--time_range_end

Não

--time_range_specific

Não

Lê dados de um número de versão específico.

-o, --output

Não

Exporta os resultados da consulta para um arquivo JSON local.

Exemplos

Leia uma linha da tabela de índice em que os valores de chave primária são "86" e 6771.

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

Varrer dados

Varra uma tabela de índice para recuperar todos os dados ou um número especificado de linhas.

scan --limit <n>

Parâmetro

Obrigatório

Descrição

--limit

Não

Número máximo de linhas a retornar. Se não especificado, todas as linhas da tabela serão varridas.

Exemplos

Varra até 10 linhas da tabela de índice.

scan --limit 10

Exportar dados

Exporte dados de uma tabela de índice para um arquivo JSON local.

scan -o /localpath/filename.json

Parâmetro

Obrigatório

Descrição

-c, --columns

Não

Colunas a exportar. Especifique colunas de chave primária ou colunas de atributo. Separe múltiplas colunas com vírgulas. Se não especificado, a linha inteira é exportada.

--max_version

Não

Número máximo de versões a exportar.

--time_range_start

Não

Exporta dados dentro de um intervalo de números de versão. time_range_start e time_range_end especificam os timestamps de início e fim, respectivamente. O intervalo é fechado à esquerda e aberto à direita: [start, end).

--time_range_end

Não

--time_range_specific

Não

Exporta dados de um número de versão específico.

--backward

Não

Exporta dados em ordem decrescente de chaves primárias.

-o, --output

Sim

Caminho do arquivo local para exportar os dados.

-l, --limit

Não

Número máximo de linhas a exportar.

-b, --begin

Não

Pontos de início e fim do intervalo de exportação. O intervalo de chave primária é fechado à esquerda e aberto à direita: [start, end).

Nota
  • Se --begin estiver definido como [null,null], o ponto de início será [INF_MIN,INF_MIN], o que significa que cada coluna de chave primária começa pelo valor mínimo.

  • Se --end estiver definido como [null,null], o ponto final será [INF_MAX,INF_MAX], o que significa que cada coluna de chave primária termina no valor máximo.

-e, --end

Não

Exemplos

  • Exporte todos os dados da tabela de índice para um arquivo local.

    scan -o /tmp/mydata.json
  • Exporte apenas as colunas uid e name.

    scan -o /tmp/mydata.json -c uid,name
  • Exporte dados dentro de um intervalo de chave primária especificado.

    scan -o /tmp/mydata.json -b '["86", 6771]' -e '["86", 6775]'

Excluir um índice secundário

Exclua uma tabela de índice que não é mais necessária.

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

Parâmetro

Obrigatório

Descrição

-t, --table

Não

Nome da tabela de dados. Não é obrigatório se uma tabela de dados já estiver selecionada com use.

-i, --index

Sim

Nome do índice secundário.

-y, --yes

Sim

Confirma a exclusão sem solicitar confirmação.

Exemplos

  • Exclua a tabela de índice index0 da tabela de dados atual.

    drop_index -i index0 -y
  • Exclua a tabela de índice index0 da tabela de dados mytable.

    drop_index -t mytable -i index0 -y