Hello, Dmitry! You wrote on Wed, 21 Jun 2006 14:53:03 +0400: DY> "Yuri Grabar" <[EMAIL PROTECTED]> wrote: > > Эээ... Разве не чем меньше - тем DY> лучше? DY> Селективностью можно оценить кардинальность выборки только на DY> равенство. Для больше/меньше/между эта цифра не дает ничего. Поэтому DY> сервер использует свои коэффициенты. Для больше/меньше - 50%, для между DY> - 20%, для стартинг - 1%. Цифры выбраны на глазок, всех удовлетворить DY> ими не выйдет. Но без гистограмм - это максимально корректный вариант.
Дим, я что-то не понимаю при чем тут "на глазок". По селективности индекс по DOC_DATE почти в 100 раз выгоднее, чем по DOCUMENT_ID при прочих равных (гистограмм-то нету). По твоим выкладкам 20% сводит его к "почти в 5 раз лучше". Тем не менее индекс по DOCUMENT_ID (в 5 раз более "плохой") используется в первую очередь. Почему FB 1.5 и FB 2.0 на ODS 10.1 его используют (и на мой взгляд вполне правильно, по крайней мере предсказуемо), а FB 2.0 на ODS 11.0 ни в какую не хочет использовать индекс на DOC_DATE в связке с индексами на внешние ключи. Может дело в том, что DOC_DATE имеет тип DATE, а два другие поля INTEGER? Так тоже странно как-то... Я могу попробовать вырезать часть базы, не знаю сохранится ли эффект, и прислать. Уж больно это как-то неправильно... Делать? PS: А можно узнать, какими будут проценты для FB 1.5, FB 2.0 на ODS 10.1 и FB 2.0 на ODS 11.0? -- With best regards, Yuri Grabar. --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

