MariaDB - Tablas de índices y estadísticas

Los índices son herramientas para acelerar la recuperación de registros. Un índice genera una entrada para cada valor dentro de una columna indexada.

Hay cuatro tipos de índices:

  • Primary (un registro representa todos los registros)

  • Unique (un registro representa varios registros)

  • Plain

  • Full-Text (permite muchas opciones en búsquedas de texto).

Los términos "clave" e "índice" son idénticos en este uso.

Los índices se asocian con una o más columnas y admiten búsquedas rápidas y una organización de registros eficiente. Al crear un índice, tenga en cuenta qué columnas se utilizan con frecuencia en sus consultas. Luego cree uno o varios índices en ellos. Además, vea los índices como esencialmente tablas de claves primarias.

Aunque los índices aceleran las búsquedas o las sentencias SELECT, hacen que las inserciones y actualizaciones se arrastren debido a que realizan las operaciones tanto en las tablas como en los índices.

Crear un índice

Puede crear un índice mediante una sentencia CREATE TABLE ... INDEX o una sentencia CREATE INDEX. La mejor opción que respalda la legibilidad, el mantenimiento y las mejores prácticas es CREAR ÍNDICE.

Revise la sintaxis general del índice que se proporciona a continuación:

CREATE [UNIQUE or FULLTEXT or...] INDEX index_name ON table_name column;

Revise un ejemplo de su uso -

CREATE UNIQUE INDEX top_sellers ON products_tbl product;

Suelta un índice

Puede quitar un índice con DROP INDEX o ALTER TABLE ... DROP. La mejor opción que respalda la legibilidad, el mantenimiento y las mejores prácticas es DROP INDEX.

Revise la sintaxis general de Drop Index que se indica a continuación:

DROP INDEX index_name ON table_name;

Revise un ejemplo de su uso -

DROP INDEX top_sellers ON product_tbl;

Cambiar el nombre de un índice

Cambie el nombre de un índice con la instrucción ALTER TABLE. Revise su sintaxis general dada a continuación:

ALTER TABLE table_name DROP INDEX index_name, ADD INDEX new_index_name;

Revise un ejemplo de su uso -

ALTER TABLE products_tbl DROP INDEX top_sellers, ADD INDEX top_2016sellers;

Gestión de índices

Deberá examinar y realizar un seguimiento de todos los índices. Utilice SHOW INDEX para enumerar todos los índices existentes asociados con una tabla determinada. Puede establecer el formato del contenido mostrado mediante una opción como "\ G", que especifica un formato vertical.

Revise el siguiente ejemplo:

mysql > SHOW INDEX FROM products_tbl\G

Estadísticas de tabla

Los índices se utilizan mucho para optimizar las consultas dado el acceso más rápido a los registros y las estadísticas proporcionadas. Sin embargo, muchos usuarios encuentran engorroso el mantenimiento de índices. MariaDB 10.0 puso a disposición tablas de estadísticas independientes del motor de almacenamiento, que calculan estadísticas de datos para cada tabla en cada motor de almacenamiento, e incluso estadísticas para columnas que no están indexadas.