テーブルにN列がある場合、可能な列の組み合わせはすべて2 ^ N-1です(空のセットを削除します)。10列は1023インデックスを意味しますが、20列では1048575インデックスになります。ほとんどのインデックスは決して使用されませんが、オプティマイザーが考慮する必要があります。オプティマイザーが、より良いインデックスの代わりに、準最適なインデックスを選択する可能性があります。実際に有益なインデックスを見つけ出すのではなく、あらゆる種類のインデックスを生成する道をたどりません。
修正可能なインデックスの数を編集
ジェフはそれがよりさらに悪いことだ指摘2 ^ N(3,2,1)から(電源セット)(1,2,3)よりも明らかに異なっています。N列の場合、N個の方法ですべての列を含むインデックスの最初の位置を選択できます。N-1の方法での2番目の位置など。したがって、N!になります。フルサイズの異なるインデックス。これらのインデックスはいずれも、このセットの別のインデックスに含まれていません。また、完全なインデックスでカバーされないように、別の短いインデックスを追加することはできません。したがって、インデックスの数はN!です。したがって、10列の例は10になります!= 3628800インデックスおよび20(ドラムロール)2432902008176640000インデックスの場合。これはとてつもなく大きい数です。各インデックスに1 mmの部分にドットを配置すると、すべてのドットを通過するのに94日の光線が必要になります。全部、いけない;-)