"Yuri Grabar" <[EMAIL PROTECTED]> wrote:
>
> Применительно к конкретно заданному случаю - это какие же условия?

Равенство по FROM_ID с неоднородным распределением ключа.

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

Это неправильно.

> Для рассматриваемого примера даже этого хватило бы
> с запасом, чтобы использовать именно этот индекс.

Ты притягиваешь алгоритм к своим данным.

> Но брать селективность
> _всегда_ в виде 0.05 сколько б там ни было, это именно что круто...

По другому - только гистограммы.

> Я вроде ни разу даже не заикался про 1.0, ведь так? Я говорил только про 
> FB
> 1.5. Что за привычка бросаться из одной крайности в другую?

Первый раз оптимизатор "поумнел" именно в 1.5, перестав брать плохие по его 
мнению индексы. Это ускорило часть запросов и затормозило другую часть. 
Аналогию улавливаешь?

> Мое мнение - в FB 2.0 оптимизатор стал существенно хуже, чем в FB 1.5
> потому, что выбирает странные пути со скрытой логикой. Если бы при этом
> время выполнения было бы приемлемым, то ладно, но ведь оно много-много
> больше стало...

Кому как.

> Да, конечно. Как-то с ходу не придумывается ситуации, когда бы такое
> поведение оптимизатора было бы выгодно.

Когда твое условие по FROM_ID отбирало бы 170 записей, как отражено в 
селективности.


--
Дмитрий Еманов




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

Ответить