Use SHOW GLOBAL INDEX para listar todos os índices secundários globais (GSIs) do banco de dados atual, inclusive os que ainda estão em criação.
Sintaxe
SHOW GLOBAL {INDEX | INDEXES} [FROM [schema_name.]tbl_name]
Os parâmetros schema_name e tbl_name são opcionais. Use-os para filtrar resultados por uma tabela específica ou consultar índices em um banco de dados diferente do atual.
Exemplos:
-- List all GSIs in the current database
SHOW GLOBAL INDEX;
-- List GSIs for a specific table in the current database
SHOW GLOBAL INDEX FROM xxx_tb;
-- List GSIs for a table in a different database (cross-database query)
SHOW GLOBAL INDEX FROM xxx_db.xxx_tb;
Colunas de saída
O comando SHOW GLOBAL INDEX retorna uma linha para cada GSI. A tabela a seguir descreve cada coluna.
|
Coluna |
Descrição |
|
|
Nome do banco de dados. |
|
|
Nome da tabela. |
|
|
Indica se o índice permite valores duplicados. |
|
|
Nome do índice. |
|
|
Colunas-chave do índice. |
|
|
Colunas de cobertura incluídas no índice. |
|
|
Tipo do índice. Valores válidos: |
|
|
Chave de shard do banco de dados. |
|
|
Função de sharding do banco de dados. |
|
|
Quantidade de shards do banco de dados. |
|
|
Chave de shard da tabela. |
|
|
Função de sharding da tabela. |
|
|
Quantidade de shards da tabela. |
|
|
Estado atual do índice. Consulte Status do índice. |
Status do índice
A coluna STATUS reflete o progresso de construção de um GSI. A tabela abaixo lista todos os valores possíveis.
|
Status |
Operações DDL na tabela host |
Descrição |
|
|
Não permitidas |
O índice está em construção. |
|
|
Não permitidas |
O índice está em um estado intermediário de construção. |
|
|
Não permitidas |
O índice está em um estado intermediário de construção. |
|
|
Não permitidas |
O índice está em um estado intermediário de construção. |
|
|
Permitidas |
Construção do índice concluída e em uso ativo. |
|
|
Permitidas |
— |
Enquanto um GSI estiver nos estados CREATING, DELETE_ONLY, WRITE_ONLY ou WRITE_REORG, o PolarDB-X bloqueia operações DDL na tabela host para manter a consistência do índice durante a construção. Quando o GSI atinge o estado PUBLIC ou ABSENT, as operações DDL na tabela host são permitidas novamente.
Caso precise executar operações DDL em uma tabela cujo GSI ainda esteja em construção, aguarde até que o
STATUS
mude para
PUBLIC
ou
ABSENT
antes de prosseguir.
Exemplo
O exemplo a seguir mostra a saída de SHOW GLOBAL INDEX para um banco de dados com duas tabelas contendo GSIs: um índice no estado PUBLIC e outro ainda em CREATING.
SHOW GLOBAL INDEX;
+---------------------+----------------------+------------+-------------------------------+----------------------------+------------------------------------------+------------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+----------+
| SCHEMA | TABLE | NON_UNIQUE | KEY_NAME | INDEX_NAMES | COVERING_NAMES | INDEX_TYPE | DB_PARTITION_KEY | DB_PARTITION_POLICY | DB_PARTITION_COUNT | TB_PARTITION_KEY | TB_PARTITION_POLICY | TB_PARTITION_COUNT | STATUS |
+---------------------+----------------------+------------+-------------------------------+----------------------------+------------------------------------------+------------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+----------+
| XXXX_DRDS_LOCAL_APP | full_gsi_ddl_renamed | 1 | g_i_c_ddl_c_blob_long_renamed | c_blob_long | id, c_bit_1, c_bit_8, ... | NULL | c_blob_long | HASH | 4 | c_blob_long | HASH | 3 | PUBLIC |
| XXXX_DRDS_LOCAL_APP | full_gsi_ddl_renamed | 1 | g_i_c_ddl_c_mediumint_1 | c_mediumint_1 | id, c_bit_1, c_bit_8, ... | NULL | c_mediumint_1 | HASH | 4 | c_mediumint_1 | HASH | 3 | PUBLIC |
| XXXX_DRDS_LOCAL_APP | full_gsi_ddl_renamed | 1 | g_i_c_ddl_c_smallint_16_un | c_smallint_16_un, c_time_1 | id, c_bit_1, c_bit_8, ... | NULL | c_smallint_16_un | HASH | 4 | c_smallint_16_un | HASH | 3 | PUBLIC |
| XXXX_DRDS_LOCAL_APP | t_order | 0 | g_i_seller | seller_id | id, order_id | HASH | seller_id | HASH | 4 | seller_id | HASH | 2 | CREATING |
+---------------------+----------------------+------------+-------------------------------+----------------------------+------------------------------------------+------------+------------------+---------------------+--------------------+------------------+---------------------+--------------------+----------+
4 rows in set (0.01 sec)
A última linha mostra que o índice g_i_seller na tabela t_order ainda está em CREATING. As operações DDL em t_order permanecem bloqueadas até que a construção do índice seja concluída e o status mude para PUBLIC.