Use SHOW GLOBAL INDEX para listar todos los índices secundarios globales (GSI) de la base de datos actual, incluidos aquellos que aún se están construyendo.
Sintaxis
SHOW GLOBAL {INDEX | INDEXES} [FROM [schema_name.]tbl_name]
Los parámetros schema_name y tbl_name son opcionales. Utilícelos para filtrar los resultados a una tabla específica o consultar índices en una base de datos distinta de la actual.
Ejemplos:
-- 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;
Columnas de salida
SHOW GLOBAL INDEX devuelve una fila por cada GSI. A continuación se describe cada columna.
|
Columna |
Descripción |
|
|
Nombre de la base de datos. |
|
|
Nombre de la tabla. |
|
|
Indica si el índice permite valores duplicados. El valor |
|
|
Nombre del índice. |
|
|
Columnas clave del índice. |
|
|
Columnas de cobertura incluidas en el índice. |
|
|
Tipo de índice. Valores válidos: |
|
|
Clave de fragmentación de la base de datos. |
|
|
Función de fragmentación de la base de datos. |
|
|
Número de fragmentos de la base de datos. |
|
|
Clave de fragmentación de la tabla. |
|
|
Función de fragmentación de la tabla. |
|
|
Número de fragmentos de la tabla. |
|
|
Estado actual del índice. Consulte Estado del índice. |
Estado del índice
La columna STATUS refleja el progreso de construcción de un GSI. En la siguiente tabla se muestran todos los valores posibles.
|
Estado |
Operaciones DDL en la tabla host |
Descripción |
|
|
No permitidas |
El índice se está construyendo. |
|
|
No permitidas |
El índice se encuentra en un estado intermedio de construcción. |
|
|
No permitidas |
El índice se encuentra en un estado intermedio de construcción. |
|
|
No permitidas |
El índice se encuentra en un estado intermedio de construcción. |
|
|
Permitidas |
El índice se construyó por completo y está en uso activo. |
|
|
Permitidas |
— |
Mientras un GSI se encuentre en estado CREATING, DELETE_ONLY, WRITE_ONLY o WRITE_REORG, PolarDB-X bloquea las operaciones DDL en la tabla host para mantener la consistencia del índice durante el proceso de construcción. Una vez que el GSI alcanza el estado PUBLIC o ABSENT, se vuelven a permitir las operaciones DDL en la tabla host.
Si necesita ejecutar operaciones DDL en una tabla cuyo GSI aún se está construyendo, espere a que el
STATUS
cambie a
PUBLIC
o
ABSENT
antes de continuar.
Ejemplo
En el siguiente ejemplo se muestra la salida de SHOW GLOBAL INDEX para una base de datos con dos tablas que tienen GSI: un índice en estado PUBLIC y otro que aún se encuentra en 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)
La última fila muestra que g_i_seller, en la tabla t_order, todavía está en estado CREATING. Las operaciones DDL sobre t_order permanecen bloqueadas hasta que finalice la construcción del índice y el estado cambie a PUBLIC.