Nếu bạn có N cột trong một bảng, mọi kết hợp cột có thể là 2 ^ N-1 (loại bỏ tập hợp trống). Đối với 10 cột có nghĩa là 1023 chỉ mục, trong 20 cột, chúng tôi kết thúc với 1048575 chỉ mục. Hầu hết các chỉ mục sẽ không bao giờ được sử dụng nhưng sẽ phải được xem xét bởi trình tối ưu hóa. Có thể là trình tối ưu hóa sẽ chọn một chỉ số tối ưu phụ thay vì chỉ số tốt hơn. Tôi sẽ không đi theo con đường tạo ra tất cả các loại chỉ mục, thay vì cố gắng tìm ra những chỉ mục nào thực sự có lợi.
EDIT đã sửa số chỉ mục có thể
Như Jeff chỉ ra, nó thậm chí còn tệ hơn 2 ^ N (bộ sức mạnh) vì (3,2,1) rõ ràng khác với (1,2,3). Đối với N cột, chúng ta có thể chọn vị trí đầu tiên trong một chỉ mục chứa tất cả các cột theo N cách. Đối với vị trí thứ hai theo cách N-1, v.v. Chúng tôi, do đó, kết thúc với N! chỉ số khác nhau của kích thước đầy đủ. Không có chỉ mục nào trong số này được thay thế bởi một chỉ mục khác trong bộ này. Ngoài ra, chúng tôi không thể thêm một chỉ mục ngắn hơn để nó không bị bao phủ bởi bất kỳ chỉ mục đầy đủ nào. Do đó, số lượng các chỉ số là N!. Ví dụ cho 10 cột, do đó, trở thành 10! = 3628800 chỉ mục và cho 20 (trống) 2432902008176640000 chỉ mục. Đây là một con số lớn đến mức nực cười, nếu chúng ta đặt một dấu chấm cho mỗi chỉ số một mm một phần, sẽ mất một ngày ánh sáng 94 ngày để vượt qua tất cả các dấu chấm. Tất cả và tất cả, không ;-)