Todos los productos
Search
Centro de documentos

Lindorm:ALTER INDEX

Última actualización: Sep 05, 2026

La instrucción ALTER INDEX modifica las columnas de un search index o cambia el estado de un secondary index o search index. Al importar o actualizar grandes volúmenes de datos, deshabilite el índice con ALTER INDEX para mejorar el rendimiento.

Sintaxis

alter_index_statement  ::=  ALTER INDEX [IF EXISTS] index_identifier
                            ON table_identifier
                            {
                              ADD COLUMNS '(' alter_key_expression ')'
                              |
                              alter_state_expression  
                            }
                            [ASYNC]
alter_key_expression   ::=  index_key_definition [ (',' index_key_definition)* ]
index_key_definition   ::=  {
                                  column_identifier [ DESC ]
                                  | column_identifier'(' column_options ')' 
                            }
alter_state_expression ::=  { ACTIVE | INACTIVE | DISABLED }
Importante
  • Si modifica un secondary index, ALTER INDEX solo admite la modificación del estado del índice.

  • Solo puede especificar propiedades para nuevas columnas cuando modifica un search index.

Compatibilidad

LindormTable admite dos tipos de índices: secondary index, search index . La siguiente tabla describe la compatibilidad de cada tipo de índice con las cláusulas de la instrucción ALTER INDEX.

Elemento de sintaxis

Secondary index

Search index

Add columns

✖️

〇

alter_state_expression

〇

〇

Uso

Agregar columnas

No es posible agregar columnas a un secondary index.

Puede agregar una o más columnas y especificar propiedades de clave de índice para las nuevas columnas. Por ejemplo, ADD COLUMNS(c1,c3,p1(type=text,analyzer=ik)) agrega tres columnas de índice: c1, c3 y p1, y especifica que la columna p1 utiliza el analizador ik. Para obtener más información sobre las propiedades de clave de índice disponibles, consulte Search index key properties (option_definition).

alter_state_expression

Puede establecer el estado del índice en uno de los siguientes valores:

Parámetro

Descripción

ACTIVE

El índice está disponible y se puede utilizar en consultas.

INACTIVE

El índice no está disponible y el optimizador de consultas lo ignora, pero continúa recibiendo actualizaciones de datos de la tabla base.

DISABLED

El índice está deshabilitado, el optimizador de consultas lo ignora y ya no recibe actualizaciones de datos de la tabla base.

Importante

Cambiar el estado de un secondary index directamente de DISABLED a ACTIVE puede provocar pérdida de datos. Debe reconstruir el índice antes de volver a habilitarlo.

Ejemplos

Las siguientes instrucciones crean la tabla base y los índices utilizados en los ejemplos:

-- Create a base table.
CREATE TABLE test (
  p1 VARCHAR NOT NULL,
  p2 INTEGER NOT NULL,
  c1 BIGINT,
  c2 DOUBLE,
  c3 VARCHAR,
  c4 TIMESTAMP,
  PRIMARY KEY(p1, p2)
) WITH (CONSISTENCY = 'strong', MUTABILITY='MUTABLE_LATEST');

-- Create a secondary index named idx1.
CREATE INDEX idx1 ON test(c1 desc) include(c3,c4) WITH (COMPRESSION='ZSTD');

-- Create a search index named idx2.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(p1, p2, c2);

Deshabilitar un índice

Deshabilite el índice idx1.

ALTER INDEX idx1 ON test DISABLED;

Comprobar el resultado

Ejecute la instrucción SHOW INDEX FROM test; para consultar el resultado.

Habilitar un índice

ALTER INDEX IF EXISTS idx1 ON test ACTIVE;

Comprobar el resultado

Ejecute la instrucción SHOW INDEX FROM test; para consultar el estado del índice.

Agregar columnas a un search index

Agregue las columnas c1 y c3 al search index idx2 y especifique las propiedades de clave de índice para la columna c3.

ALTER INDEX IF EXISTS idx2 ON test ADD COLUMNS(c1,c3(type=text,analyzer=ik));
Nota

Los datos históricos no se sincronizan automáticamente con las columnas de índice recién agregadas. Debe reconstruir el índice para incluir estos datos históricos. Para obtener más información, consulte Rebuild the search index.

Comprobar el resultado

Ejecute la instrucción SHOW INDEX FROM test; para consultar la columna del índice.

Reconstruir un search index

Esta acción sincroniza todos los datos de la tabla base con el search index.

  • Compilación síncrona de un search index: La instrucción ALTER INDEX devuelve una respuesta solo después de completar la compilación del índice.

    ALTER INDEX IF EXISTS idx2 ON test REBUILD;
  • Compilación asíncrona de un search index: La instrucción ALTER INDEX devuelve una respuesta inmediatamente, independientemente de si el índice se compiló correctamente.

    ALTER INDEX IF EXISTS idx2 ON test REBUILD ASYNC;