Hello, Dmitry!
You wrote  on Thu, 22 Jun 2006 09:32:07 +0400:

 DY> "Yuri Grabar" <[EMAIL PROTECTED]> wrote: > > порядков, про которые 
писал ДК.
 DY> :((( Получается, что полям типа даты
 ??>> документа, по которым чаще всего идут выборки за период, причем за
 ??>> небольшой
 ??>> период, строить индексы в FB 2.0 в принципе бесполезно - оптимизатор
 ??>> их _никогда_ не будет использовать, какая бы селективность по ним ни
 ??>> была.

 DY> Все зависит от других условий.

Применительно к конкретно заданному случаю - это какие же условия? Я бы 
понял, если бы при расчете "хорошести" индекса для выборки бралась его 
селективность и для условия between искусственно ухудшалась ну пусть до тех 
же 20% от первоначальной. Для рассматриваемого примера даже этого хватило бы 
с запасом, чтобы использовать именно этот индекс. Но брать селективность 
_всегда_ в виде 0.05 сколько б там ни было, это именно что круто...

 ??>> Круто, ничего не скажешь... "Поумнел" оптимизатор называется... :(((

 DY> Тебе оставить rule-based оптимизатор, который всегда берет все
 DY> доступные индексы? Как в FB1.0?

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

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

 DY> На всех не угодишь. Что тебе плохо, кому-то другому хорошо.

Да, конечно. Как-то с ходу не придумывается ситуации, когда бы такое 
поведение оптимизатора было бы выгодно. Наверное, если бы в between попадала 
половина записей таблицы, то да. Но если бы такое предполагалось, то индекс 
по данному полю вообще бы не строился. В любой учетной системе выборки "за 
период" не такая уж редкая ситуация и, как правило, период небольшой. В 
редких случаях большого периода всегда можно +0 добавить к дате, но переход 
с полуторки превращается в ад, на который мало кто согласится.

-- 
With best regards, Yuri Grabar. 



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

Ответить