Pregunta:
Estoy trabajando en un sistema de informes que requerirá grandes consultas seleccionadas, pero se basa en una base de datos que solo se llena una vez. El sistema de administración de bases de datos es Microsoft SQL Server 2017. Probablemente haya una mejor manera de diseñar un sistema como este, pero abordemos esto teóricamente.
Teóricamente hablando:
- Si tenemos una base de datos muy grande (más de 150 millones de filas en varias tablas)
- Y podemos asumir que la base de datos solo se completará una vez.
¿La indexación de todas las combinaciones de columnas posibles podría tener un impacto negativo en el rendimiento de una consulta seleccionada?
Respuesta:
Sí, influirá en el tiempo de compilación del plan inicial, ya que el optimizador tendrá muchas rutas de acceso adicionales a los datos a considerar.
Ya que está en SQL Server 2017, carga una vez y ejecuta informes, ¿por qué no usar un índice de almacenamiento de columnas agrupadas en su lugar?
Esa parece ser la solución ideal para su necesidad de indexar todas las combinaciones de columnas posibles.