Hello, Dmitry! You wrote on Wed, 28 Jun 2006 07:47:42 +0400: ??>> Дим, она хуже не на 1 миллиардную, а на 0.200000001 - 1 миллиардная... ??>> > Можно еще в процентах посчитать, только все равно будет, что ??>> "лучшие" индексы проигрывают много больше, чем "худшие".
DY> Ничего не понимаю. Ты пишешь: "хуже этой константы". Таковая у нас одна DY> - 0.2. Итоговая селективность - 0.20000001. Я ни фига не вижу, как, для DY> чего и в каких процентах лучшие индексы вдруг будут проигрывать DY> худшим. Предположим, константа равна 0.2. Предположим, что есть два индекса, теоретически подходящих для использования - IDX1 с селективностью 0.2 и IDX2 с селективностью 0.002 (не придирайся к конкретным значениям, просто пример). Индекс IDX2 явно предпочтительнее индекса IDX1 (грубо говоря в 100 раз лучше). Вычисляем по сегодняшнему алгоритму результирующую селективность: для IDX1 она будет 0.36, для IDX2 - 0.2016. Смотрим сколько потеряли селективности индексов после ее ухудшения: IDX1: 0.36 / 0.2 = 1.8 раза IDX2: 0.2016 / 0.002 = 100.8 итоговое отношение селективностей: 0.36 / 0.2016 = 1.79 Итого, относительно хороший индекс стал хуже в 100 раз, а относительно плохой - только в 1.8 раза. Кроме того, исходно индекс IDX2 был в 100 раз более предпочтителен, чем IDX1. После вычислений - только в 1.79 раза. Вот это я и говорю - чем лучше индекс, тем больше он теряет и тем ближе он становится к худшим. В результате такого приближения оптимизатор может для выполнения выбрать намного более плохой индекс только потому, что там сравнение идет на равно, а для более лучшего индекса на between. ??>> по нему никто и индекс строить ??>> не будет. А даже если он есть, то его всегда можно +0 погасить. ??>> Заставить же использовать кроме ручного планирования способа нет. DY> Т.е. таки rule-based оптимизатор? Нет уж, извини, не согласная я (с) Я этого не говорил. Полностью согласен с тем, что для индексов, которые попадают в условия between, больше, меньше, staring нужно перед сравнением ухудшить селективность. Я не согласен с существующим алгоритмом ухудшения селективности. А уж первоначальный выбор коэффициентов в 0.2 и 0.5 для меня вообще непонятен. -- With best regards, Yuri Grabar. --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---