Здравствуйте, MasterZiv, Вы писали:
MZ>Например, если в поле f1 будет всего два или три возможных MZ>значения, то индекс (f1, f2, f3) лучше переделать на MZ>(f2, f3, f1) или даже (f2, f3).
MZ>Вообще, в индексе поля лучше располагать таким образом, MZ>чтобы поля с наиболее большим кол-вом возможных значений MZ>шли бы в начале.
А зачем? Чего хочем добиться?
У Кайта говорится, что это миф.
На эффективность выборки по индексу это не будет сказываться, потому что при поиске значения в индексе сравнение идет сразу целым вектором (f1, f2, f3), а не по каждому полю в отдельности.
В Oracle наоборот — иногда имеет смысл указывать в индексе первыми полями те, которые имеют наименьшее количество значений. Это позволяет более эффективно использовать возможность сжатия ключа индекса, т.е. уменьшить физический размер индекса на диске.