HSQLDB: índices

UN database indexes una estructura de datos que mejora la velocidad de las operaciones en una tabla. Los índices se pueden crear usando una o más columnas, proporcionando la base tanto para búsquedas aleatorias rápidas como para ordenar eficientemente el acceso a los registros.

Al crear un índice, se debe considerar cuáles son las columnas que se utilizarán para realizar consultas SQL y crear uno o más índices en esas columnas.

Prácticamente, los índices también son tipos de tablas, que mantienen la clave principal o el campo de índice y un puntero a cada registro en la tabla real.

Los usuarios no pueden ver los índices. Solo se utilizan para acelerar las consultas y el motor de búsqueda de bases de datos los utilizará para localizar registros rápidamente.

Las instrucciones INSERT y UPDATE toman más tiempo en tablas que tienen índices, mientras que las instrucciones SELECT se ejecutan más rápido en esas tablas. El motivo es que, al insertar o actualizar, la base de datos también debe insertar o actualizar los valores del índice.

Índice simple y único

Puede crear un índice único en una tabla. UNunique indexsignifica que dos filas no pueden tener el mismo valor de índice. A continuación se muestra la sintaxis para crear un índice en una tabla.

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2,...);

Puede utilizar una o más columnas para crear un índice. Por ejemplo, cree un índice en tutorials_tbl usando tutorial_author.

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

Puede crear un índice simple en una tabla. Simplemente omita la palabra clave UNIQUE de la consulta para crear un índice simple. UNsimple index permite valores duplicados en una tabla.

Si desea indexar los valores en una columna en orden descendente, puede agregar la palabra reservada DESC después del nombre de la columna.

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

ALTER Comando para agregar y soltar ÍNDICE

Hay cuatro tipos de declaraciones para agregar índices a una tabla:

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) - Esta declaración agrega una CLAVE PRIMARIA, lo que significa que los valores indexados deben ser únicos y no pueden ser NULL.

  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list) - Esta declaración crea un índice para el cual los valores deben ser únicos (con la excepción de los valores NULL, que pueden aparecer varias veces).

  • ALTER TABLE tbl_name ADD INDEX index_name (column_list) - Esto agrega un índice ordinario en el que cualquier valor puede aparecer más de una vez.

  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list) - Esto crea un índice FULLTEXT especial que se utiliza para fines de búsqueda de texto.

A continuación se muestra la consulta para agregar índice en una tabla existente.

ALTER TABLE testalter_tbl ADD INDEX (c);

Puede eliminar cualquier ÍNDICE utilizando la cláusula DROP junto con el comando ALTER. A continuación se muestra la consulta para eliminar el índice creado anteriormente.

ALTER TABLE testalter_tbl DROP INDEX (c);

Visualización de información de ÍNDICE

Puede utilizar el comando SHOW INDEX para enumerar todos los índices asociados con una tabla. La salida de formato vertical (especificada por \ G) a menudo es útil con esta declaración, para evitar líneas largas envolventes.

A continuación se muestra la sintaxis genérica para mostrar la información del índice sobre una tabla.

SHOW INDEX FROM table_name\G