"Yuri Grabar" ...

> Предположим, константа равна 0.2. Предположим, что есть два индекса,
> теоретически подходящих для использования - IDX1 с селективностью 0.2 и IDX2
> с селективностью 0.002 (не придирайся к конкретным значениям, просто
> пример). Индекс IDX2 явно предпочтительнее индекса IDX1 (грубо говоря в 100
> раз лучше). Вычисляем по сегодняшнему алгоритму результирующую
> селективность:
> для IDX1 она будет 0.36, для IDX2 - 0.2016.

    И индекс IDX2 остался более предпочтительным.

> Смотрим сколько потеряли
> селективности индексов после ее ухудшения:

    Зачем ?

> В результате такого приближения оптимизатор может для
> выполнения выбрать намного более плохой индекс только потому, что там
> сравнение идет на равно, а для более лучшего индекса на between.

    И будет прав. Ибо на равно выберется записей меньше, чем на between,
исходя из имеющейся у него информации

> Я не согласен с существующим алгоритмом ухудшения селективности.

    Предложи свой. Только обоснуй, а не пальцем в небо тыкай

> А уж первоначальный выбор коэффициентов в 0.2 и 0.5 для меня
> вообще непонятен.

    Я плакаль

-- 
Хорсун Влад



--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить