# Indices condicionados vs búsquedas complejas

![](https://3641993963-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M7D2zitZhY9szSsa5EK%2Fsync%2F39791acff7cd0220f1ad00f112057cb70a5791ea.png?generation=1589374124450517\&alt=media)

## Condicionar penaliza

Debemos saber que indexar claves de un índice condicionado puede llegar a ser hasta un 30% más lento que si no estuviese condicionado. Por lo tanto los índices condicionados penalizan el rendimiento en las operaciones de alta, modificación y baja de registros en nuestra base de datos.

Esto no implica que debemos evitar el uso de índices condicionados, todo lo contrario, sin embargo sí que debemos tenerlo presente para no abusar de las condiciones en índices y para intentar unificar siempre que sea posible los índices condicionados y reducir así el número de índices de la tabla.

## Más rápido que búsquedas complejas

Pese a la penalización que supone al índice evaluar por cada registro la fórmula de condición, si los registros de la tabla van a ser leídos muchas veces, compensa con creces disponer de índices condicionados.

Si por no crear un índice condicionado nos vemos obligados a tener que crear búsquedas complejas con varias partes que debemos combinar añadiendo, cruzando y quitando, estaremos perjudicando el rendimiento de nuestra aplicación.

Siempre debemos buscar el equilibrio entre el uso de índices condicionados para búsquedas muy habituales y el uso de búsquedas complejas para aquellas que se realicen de forma esporádica.
