Estoy trabajando en un proyecto con una base de datos Oracle bastante grande (aunque mi pregunta se aplica igualmente bien a otras bases de datos). Tenemos una interfaz web que permite a los usuarios buscar en casi cualquier combinación posible de campos.
Para que estas búsquedas sean más rápidas, estamos agregando índices a los campos y combinaciones de campos en los que creemos que los usuarios buscarán comúnmente. Sin embargo, dado que no sabemos realmente cómo nuestros clientes utilizarán este software, es difícil saber qué índices crear.
El espacio no es una preocupación; tenemos una unidad RAID de 4 terabytes de la cual estamos usando solo una pequeña fracción. Sin embargo, me preocupan las posibles penalizaciones de rendimiento por tener demasiados índices. Debido a que esos índices deben actualizarse cada vez que se agrega, elimina o modifica una fila, imagino que sería una mala idea tener docenas de índices en una sola tabla.
Entonces, ¿cuántos índices se consideran demasiados? 10? 25? 50? ¿O debería simplemente cubrir los casos realmente, realmente comunes y obvios e ignorar todo lo demás?