"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 для меня > вообще непонятен. Я плакаль -- Хорсун Влад --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---