Hello, Dmitry!
You wrote  on Thu, 22 Jun 2006 15:51:40 +0400:

 DY> "Yuri Grabar" <[EMAIL PROTECTED]> wrote:
 ??>>
 DY>>> Будь конструктивнее. Докажи, что для BETWEEN (ну или для STARTING -
 ??>> там
 DY>>> ситуация схожая) оценка выборки "в N раз больше, чем при равенстве"
 DY>>> правильнее, чем "одна M-я часть таблицы".
 ??>>
 ??>> Ну утерпел... :) Дим, давай только не будем передергивать.

 DY> Либо ты ошибочно процитировал вышесказанное, либо не понял, о чем речь
 DY> :-)

Из твоего письма я вырезал только
DY> Т.е. ты еще по себе не примерял, но уже "за"? :-)
не думаю, что оно хоть как-то повлияло на цитирование...

 DY>  Там нет никакого передергивания, я просто предлагаю людям защитить их
 DY> альтернативное предложение для расчета селективности range-сканов.

Ты вроде как писал, что нет вообще никакого расчета - _всегда_ используется 
селективность 0.2 (ты же сам писал:
DY> Селективностью можно оценить кардинальность выборки только на равенство.
DY> Для больше/меньше/между эта цифра не дает ничего. Поэтому сервер 
использует
DY> свои коэффициенты. Для больше/меньше - 50%, для между - 20%,
DY> для стартинг - 1%...
)
Я как-то совсем запутался в алгоритме работы оптимизатора в FB 2.0. В 
полуторке для меня он работал логично, в двойке же по меньшей мере 
"странно".

 ??>> При сегодняшнем выборе получается, что лучше, чем по одному индексу
 ??>> по FROM_ID не будет в принципе при любом диапазоне дат. Только жуткие
 ??>> тормоза при слиянии с "плохим" индексом по DOCUMENT_ID.

 DY> Угу, перекос по распределению именно в этом поле, а не во FROM_ID.
 DY> Сколько записей с DOCUMENT_ID = 2 по отношению к общему их кол-ву?

454842 из общего количества 1003575, т.е. практически половина. Только при 
чем тут это? В сервере же нет гистограмм, только селетивность индекса, 
которая равна для этого поля 1/30 и другого способа оценить "хорошесть" 
использования индекса у него нет. Повторюсь, это очень "плохой" индекс, но 
он от внешнего ключа...
Удивление вызывает даже не то, что оптимизатор выбрал его, а то, что он 
предпочел его в 70 более хорошему индексу! Даже с учетом на between это 
слишком...

-- 
With best regards, Yuri Grabar.  E-mail: [EMAIL PROTECTED] 



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

Ответить