Todos os produtos
Search
Central de documentação

PolarDB:CHECK GLOBAL INDEX

Última atualização: Jun 28, 2026

O comando CHECK GLOBAL INDEX verifica a consistência dos dados entre uma tabela base e sua tabela de índice secundário global (GSI) e corrige quaisquer inconsistências encontradas.

Como funciona

Esta instrução verifica se as entradas do índice estão presentes, posicionadas corretamente e correspondem aos dados da tabela base. O sistema classifica quaisquer discrepâncias em um dos quatro tipos de erro: MISSING, ORPHAN, CONFLICT ou ERROR_SHARD.

Sintaxe

CHECK GLOBAL INDEX gsi_name [ON tbl_name] [extra_cmd]

Parâmetros

Parâmetro

Descrição

gsi_name

Nome do GSI a verificar.

tbl_name

Opcional. Nome da tabela base. Se especificado, a instrução também valida o relacionamento do índice entre a tabela GSI e a tabela base.

extra_cmd

Opcional. Controla o modo de operação. Consulte a tabela abaixo.

**Opções de extra_cmd**

Valor

Função

Quando usar

(nenhum)

Verifica o GSI e retorna quaisquer inconsistências encontradas.

Execute primeiro para identificar erros.

SHOW

Exibe o resultado da verificação ou correção mais recente do GSI especificado.

Utilize após uma correção para revisar o relatório de reparo.

CORRECTION_BASED_ON_PRIMARY

Repara a tabela GSI com base nos dados da tabela base.

Recomendado após identificar erros na verificação padrão.

Observações de uso

  • A verificação e a correção consomem recursos do sistema. Geralmente, isso ocorre porque os dados da tabela base ou da tabela de índice ficam bloqueados e são corrigidos em lotes durante as operações de correção. Execute essas operações fora dos horários de pico.

  • Em tabelas grandes, a verificação pode levar muito tempo. Para executá-la sem bloqueios, use um HINT para ativar o PURE_ASYNC_DDL_MODE, que processa a instrução DDL em modo puramente assíncrono.

  • Se uma linha apresentar múltiplos tipos de erro, o conjunto de resultados retornará várias linhas com valores diferentes de ERROR_TYPE para a mesma chave primária.

  • A última linha do conjunto de resultados é sempre uma linha SUMMARY. Verifique essa linha primeiro para determinar se há erros.

Para obter mais informações sobre GSIs, consulte GSI.

Colunas de resultado

Coluna

Descrição

GSI_TABLE

Nome do GSI.

ERROR_TYPE

Tipo do erro. Valores válidos: MISSING (entrada de índice ausente), ORPHAN (entrada de índice órfã sem linha correspondente na tabela base), CONFLICT (dados do índice não correspondem à tabela base), ERROR_SHARD (shard de dados em posição incorreta), SUMMARY (resultado geral).

STATUS

Estado da entrada. FOUND indica detecção de erro. REPAIRED indica erro corrigido. -- aparece na linha SUMMARY.

PRIMARY_KEY

Chave primária da linha afetada.

DETAILS

Detalhes do erro.

Exemplos

Os exemplos a seguir demonstram o fluxo completo de verificação e reparo.

Verificar inconsistências

Execute a seguinte instrução para verificar o GSI g_i_check:

CHECK GLOBAL INDEX `g_i_check`;

Se não houver erros, o resultado conterá apenas a linha SUMMARY:

+-------------+------------+--------+-------------+-----------------------------+
| GSI_TABLE   | ERROR_TYPE | STATUS | PRIMARY_KEY | DETAILS                     |
+-------------+------------+--------+-------------+-----------------------------+
| `g_i_check` | SUMMARY    | --     | --          | OK (7025/7025 rows checked) |
+-------------+------------+--------+-------------+-----------------------------+
1 row in set (1.40 sec)

Caso haja erros, o sistema retorna uma linha por erro, seguida pela linha SUMMARY:

+-------------+------------+--------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GSI_TABLE   | ERROR_TYPE | STATUS | PRIMARY_KEY | DETAILS                                                                                                                                                                                                                                                                                                                                                                                        |
+-------------+------------+--------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| `g_i_check` | ORPHAN     | FOUND  | (100722)    | {"GSI":{"id":100722,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_binary":"OTkAAAAAAAAAAA==","c_int_32":271}}                                                                                                                                                                                              |
| `g_i_check` | CONFLICT   | FOUND  | (108710)    | {"Primary":{"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255},"GSI":{"c_int_32_un":123456,"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255}} |
| `g_i_check` | MISSING    | FOUND  | (100090)    | {"Primary":{"id":100090,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_blob_tiny":"YeS4reWbvWE=","c_int_32":280}}                                                                                                                                                                                           |
| `g_i_check` | SUMMARY    | --     | --          | 3 error found (7025/7025 rows checked)                                                                                                                                                                                                                                                                                                                                                         |
+-------------+------------+--------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (1.92 sec)

Corrigir inconsistências

Após identificar erros, execute a seguinte instrução para reparar o GSI com base na tabela base:

CHECK GLOBAL INDEX g_i_check CORRECTION_BASED_ON_PRIMARY;

O sistema retorna o seguinte resultado:

+-------------+------------+--------+-------------+------------------------------------------------------------------------+
| GSI_TABLE   | ERROR_TYPE | STATUS | PRIMARY_KEY | DETAILS                                                                |
+-------------+------------+--------+-------------+------------------------------------------------------------------------+
| `g_i_check` | SUMMARY    | --     | --          | Done. Use SQL: { CHECK GLOBAL INDEX `g_i_check` SHOW; } to get result. |
+-------------+------------+--------+-------------+------------------------------------------------------------------------+
1 row in set (1.40 sec)

Visualizar o relatório de reparo

Execute a seguinte instrução para visualizar o resultado da verificação ou correção mais recente:

CHECK GLOBAL INDEX `g_i_check` SHOW;

Cada erro reparado aparece como uma linha com STATUS definido como REPAIRED:

+-------------+------------+----------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GSI_TABLE   | ERROR_TYPE | STATUS   | PRIMARY_KEY | DETAILS                                                                                                                                                                                                                                                                                                                                                                                        |
+-------------+------------+----------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| `g_i_check` | MISSING    | REPAIRED | (100090)    | {"Primary":{"id":100090,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_blob_tiny":"YeS4reWbvWE=","c_int_32":280}}                                                                                                                                                                                           |
| `g_i_check` | CONFLICT   | REPAIRED | (108710)    | {"Primary":{"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255},"GSI":{"c_int_32_un":123456,"id":108710,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_year":"2000","c_int_32":255}} |
| `g_i_check` | ORPHAN     | REPAIRED | (100722)    | {"GSI":{"id":100722,"c_timestamp_6":"2000-01-01 00:00:00.000000","c_timestamp_3":"2000-01-01 00:00:00.000","c_timestamp_1":"2000-01-01 00:00:00.0","c_binary":"OTkAAAAAAAAAAA==","c_int_32":271}}                                                                                                                                                                                              |
| `g_i_check` | SUMMARY    | --       | --          | 3 error found (7025/7026 rows checked.) Finish time: 2020-01-13 14:41:51.0                                                                                                                                                                                                                                                                                                                     |
+-------------+------------+----------+-------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.02 sec)