Якщо у таблиці є N стовпців, кожна можлива комбінація стовпців - 2 ^ N-1 (видалення порожнього набору). Для 10 стовпців, що означають 1023 індекси, для 20 стовпців ми закінчуємо колосальними 1048575 індексами. Більшість індексів ніколи не використовуватимуться, але їх доведеться враховувати оптимізатором. Цілком можливо, що оптимізатор вибере замість кращого неоптимальний індекс. Я б не став на шлях генерації всіляких індексів, замість того, щоб намагатися розібратися, які саме показники були б корисними.
EDIT виправила кількість можливих індексів
Як зазначає Джефф , це навіть гірше, ніж 2 ^ N (встановлення потужності), оскільки (3,2,1) явно відрізняється, ніж (1,2,3). Для N стовпців ми можемо вибрати першу позицію в індексі, що містить усі стовпці N способами. Для другої позиції способами N-1 і т. Д. Ми, таким чином, закінчуємо N! різні індекси повного розміру. Жоден з цих індексів не включає інший індекс у цьому наборі. Крім того, ми не можемо додати ще один коротший індекс, щоб він не охоплювався жодним повним індексом. Отже, кількість індексів становить N !. Приклад для 10 стовпців, отже, стає 10! = 3628800 індексів і для 20 (барабанний) 2432902008176640000 індексів. Це насмішкувато велика кількість, якщо ми помістимо крапку для кожного показника по одному мм частину, пройде світловий промінь 94 дні, щоб пропустити всі крапки. Все і все, не ;-)