Si tiene N columnas en una tabla, cada combinación de columnas posible es 2 ^ N-1 (eliminando el conjunto vacío). Para 10 columnas que significarían 1023 índices, para 20 columnas terminamos con la friolera de 1048575 índices. La mayoría de los índices nunca se utilizarán, pero el optimizador deberá tenerlos en cuenta. Es posible que el optimizador elija un índice subóptimo en lugar de uno mejor. No tomaría el camino de generar todo tipo de índices, en lugar de tratar de averiguar qué índices serían realmente beneficiosos.
EDITAR el número corregido de índices posibles
Como Jeff señala, es incluso peor que 2 ^ N (conjunto de potencia) ya que (3,2,1) es claramente diferente de (1,2,3). Para N columnas podemos elegir la primera posición en un índice que contiene todas las columnas en N formas. Para la segunda posición en N-1, etc. ¡Por lo tanto, terminamos con N! diferentes índices de tamaño completo. Ninguno de estos índices está incluido en otro índice de este conjunto. Además, no podemos agregar otro índice más corto para que no esté cubierto por ningún índice completo. El número de índices es, por lo tanto, N !. ¡El ejemplo para 10 columnas, por lo tanto, se convierte en 10! = 3628800 índices y para 20 (rollroll) 2432902008176640000 índices. Este es un número ridículamente grande, si ponemos un punto para cada índice un mm por parte, tomará un haz de luz 94 días para pasar todos los puntos. Todos y todas, no ;-)