La selectividad de índices es un factor clave para optimizar el rendimiento de la consulta SQL. Mide lo bien que un índice filtra los datos, influyendo en la velocidad de recuperación de datos. Comprender y calcular la selectividad de índice puede ayudar a los administradores de bases de datos a mejorar la eficiencia de la consulta mediante la elección de los índices más eficaces.

¿Qué es la selectividad de índices?

La selectividad de índices se refiere a la proporción de valores únicos en una columna relativa al número total de filas. La alta selectividad indica que la columna tiene muchos valores únicos, haciendo que los índices en ella sean más eficaces. Por el contrario, la baja selectividad sugiere muchos valores duplicados, reduciendo la utilidad del índice.

Cálculo de la selectividad del índice

La fórmula para la selectividad de índice es sencilla:

Selectividad = Número de valores únicos / Número total de filas]

Por ejemplo, si una tabla tiene 1.000 filas y una columna con 900 valores únicos, la selectividad es 0.9, indicando alta eficacia para indexar.

Ejemplo de datos reales

Considere una tabla de datos de clientes con 10.000 filas. La columna "País" contiene 50 nombres de país únicos. La selectividad es:

0.005 = 50 / 10.000

Esta baja selectividad sugiere que la indexación de la columna "País" no puede mejorar significativamente el rendimiento de la consulta. En lugar, enfocarse en columnas con mayor selectividad, como "DNI del cliente", que tiene 10.000 valores únicos, sería más beneficioso.

Implications for Query Optimization

La cálculo de la selectividad de índices ayuda a decidir qué columnas a índice. Las columnas de alta selectividad son normalmente mejores candidatos para indexar, lo que conduce a una ejecución de consulta más rápida. Las columnas de baja selectividad podrían ser más adecuadas para otras estrategias de optimización o índices compuestos.