Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Yuri Grabar
Hello, Dmitry!
You wrote  on Tue, 27 Jun 2006 13:46:02 +0400:

 DY> "Yuri Grabar" <[EMAIL PROTECTED]> wrote: > > Вычисление 
результирующей
 DY> селективности происходит немного станно...  При
 ??>> изменении исходной селективности индекса от 0 до 1 вычисленная
 ??>> результирующая селективность изменяется от 0.2 до 1.0.

 DY> Так точно. Вот только заметно отличаться от 0.2 она будет только при
 DY> очень низкой селективности индекса. При 0.1 мы получим 0.28, при 0.5
 DY> результат будет 0.6. Но это уже ооочень плохие индексы :-)

Только вот, например, очень "хороший" индекс с селективностью в 1 
миллиардную все равно получит селективность 0.20001. Т.е. , 
результирующая селективность, какой бы ни была "хорошей" селективность 
исходного индекса, все равно будет хуже этой константы. Получается, что чем 
хуже исходный индекс, тем меньше он "теряет в весе" по сравнению с более 
хорошими индексами. Вот это и смущает.

 DY>  Если такой будет один, то он будет использован. Но если будет лучший,
 DY> то на этот забъет даже 1.5.
 DY> Иными словами: да, там действительно не совсем константа, если строго
 DY> подходить. Но на практике это на жизнь не влияет.

 ??>> Не должна ли
 ??>> результирующая селективность вычисляться хотя бы:
 ??>>
 ??>> scratch[i]->selectivity = selectivity + selectivity * factor;

 DY> Не должна. См. всю предыдущую дискуссию :-)

 DY> P.S. В официальный RC3 войдут более оптимистичные оценки (а-ля Оракл).
 DY> Скорее всего, больше меняться ничего не будет.

Ну, установленные на сегодня значения в 0.025 для between и 0.05 для 
больше/меньше, конечно, лучше чем были, но все-таки как-то это 
неправильно... Сам алгоритм вычисления результирующей селективности не очень 
понятен.

-- 
With best regards, Yuri Grabar. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread ������� ����

"Yuri Grabar" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> Ну, установленные на сегодня значения в 0.025 для between и 0.05 для
> больше/меньше

Только 0.0025 для between, а не 0.025. 




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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Dmitry Yemanov
"Yuri Grabar" <[EMAIL PROTECTED]> wrote:
>
> Только вот, например, очень "хороший" индекс с селективностью в 1
> миллиардную все равно получит селективность 0.20001. Т.е. ,
> результирующая селективность, какой бы ни была "хорошей" селективность
> исходного индекса, все равно будет хуже этой константы.

Хуже на одну миллиардную. Это критично?

> Получается, что чем
> хуже исходный индекс, тем меньше он "теряет в весе" по сравнению с более
> хорошими индексами. Вот это и смущает.

Ты про разницу в 1.5 раза (по итоговой псевдо-селективности) вместо трех 
порядков (по начальной селективности)? Дык по хорошему разницы вообще быть 
не должно, обсуждали ведь это :-) Ты не согласен, но убедить я тебя не могу.


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




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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Boulitchev Aleksey
"Евгений Килин"
> Только 0.0025 для between, а не 0.025.

1/365 ≈ 0,002739

ИМХО, это и есть источни оракловского оптимизьма

-- 
Булычев Алексей
http://www.stella-npf.ru



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Dmitry Yemanov
"Boulitchev Aleksey" <[EMAIL PROTECTED]> wrote:
>
> ИМХО, это и есть источни оракловского оптимизьма

На самом деле, это 0.05 * 0.05 :-) А вот откуда они взяли эти 0.05, 
действительно интересно.


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




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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Yuri Grabar
Hello, Dmitry!
You wrote  on Tue, 27 Jun 2006 14:48:38 +0400:

 DY> "Yuri Grabar" <[EMAIL PROTECTED]> wrote: > > Только вот, например, 
очень
 DY> "хороший" индекс с селективностью в 1
 ??>> миллиардную все равно получит селективность 0.20001. Т.е. ,
 ??>> результирующая селективность, какой бы ни была "хорошей"
 ??>> селективность исходного индекса, все равно будет хуже этой константы.

 DY> Хуже на одну миллиардную. Это критично?

Дим, она хуже не на 1 миллиардную, а на 0.20001 - 1 миллиардная... Можно 
еще в процентах посчитать, только все равно будет, что "лучшие" индексы 
проигрывают много больше, чем "худшие".

 ??>> Получается, что чем
 ??>> хуже исходный индекс, тем меньше он "теряет в весе" по сравнению с
 ??>> более хорошими индексами. Вот это и смущает.

 DY> Ты про разницу в 1.5 раза (по итоговой псевдо-селективности) вместо
 DY> трех порядков (по начальной селективности)? Дык по хорошему разницы
 DY> вообще быть не должно, обсуждали ведь это :-) Ты не согласен, но
 DY> убедить я тебя не могу.

Не можешь... Скорее всего потому, что ни у меня, ни у тебя нет никаких 
объективных критериев этой оценки. У меня только результаты теста - если в 
параметры для between поставить, например, половину диапазона (не угадали в 
худшую сторону), проигрыш по времени составляет 10-20% процентов (а то и 
меньше). Если же поставить месяц (1/60 диапазона - угадали в лучшую 
сторону) - то выигрыш получается уже тысячи процентов (около 20 раз). Ведь 
действительно работа по небольшому диапазону - наиболее частая операция.

Вот это и смущает в конечном итоге - проигрыш небольшой, а выигрыш может 
быть очень большой. Так ради чего мы выбираем именно редкий небольшой 
проигрыш по сравнению с частым большим выигрышем? Ведь если данному полю 
выборки чаще всего по большому диапазону, то по нему никто и индекс строить 
не будет. А даже если он есть, то его всегда можно +0 погасить. Заставить же 
использовать кроме ручного планирования способа нет.


PPS: Да, естественно, тест мой может оказаться только моим, у других будет
по другому. Но диапазонные выборки по датам - не редкость.
PS: Можно хотя бы коэффициенты вынести в конфиг не меняя ничего остального?

-- 
With best regards, Yuri Grabar. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Dmitry Yemanov
"Yuri Grabar" <[EMAIL PROTECTED]> wrote:
>
> ??>> все равно будет хуже этой константы.
>
> DY> Хуже на одну миллиардную. Это критично?
>
> Дим, она хуже не на 1 миллиардную, а на 0.20001 - 1 миллиардная... 
> Можно
> еще в процентах посчитать, только все равно будет, что "лучшие" индексы
> проигрывают много больше, чем "худшие".

Ничего не понимаю. Ты пишешь: "хуже этой константы". Таковая у нас одна - 
0.2. Итоговая селективность - 0.2001. Я ни фига не вижу, как, для чего и 
в каких процентах лучшие индексы вдруг будут проигрывать худшим.

> по нему никто и индекс строить
> не будет. А даже если он есть, то его всегда можно +0 погасить. Заставить 
> же
> использовать кроме ручного планирования способа нет.

Т.е. таки rule-based оптимизатор? Нет уж, извини, не согласная я (с)


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




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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Plotnikov Y.
Ребята, а расскажите что такое руле-бейзед оптимизатор?



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Dmitri Kuzmenko
Hello, Yury!

Plotnikov Y. wrote:
> Ребята, а расскажите что такое руле-бейзед оптимизатор?

оптимизаторы бывают двух типов - cost estimation
и rule-based.
rule-based - это основанный на правилах.
cost estimation - это оценка стоимости (селективность, размер таблиц
и т.п.).

пример см. тут
http://mordor.tengry.com/db/oracle/db920/server.920/a96533/rbo.htm

-- 
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34


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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Boulitchev Aleksey
"Dmitri Kuzmenko"
> оптимизаторы бывают двух типов - cost estimation
> и rule-based.
> rule-based - это основанный на правилах.
> cost estimation - это оценка стоимости (селективность, размер таблиц
> и т.п.).

канон зодчих, блин

ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =]

-- 
Булычев Алексей
http://www.stella-npf.ru



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-27 Thread Dmitri Kuzmenko
Hello, Aleksey!

Boulitchev Aleksey wrote:

> канон зодчих, блин
> ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =]

а какие другие? Телепатические? Ассоциативные?

-- 
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34


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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-28 Thread Boulitchev Aleksey
"Dmitri Kuzmenko" >> ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и 
другие =]
>
> а какие другие? Телепатические? Ассоциативные?

неизвестные


-- 
Булычев Алексей
http://www.stella-npf.ru



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-28 Thread Ded
Dmitri Kuzmenko wrote:

>>ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =]
> 
> 
> а какие другие? Телепатические? Ассоциативные?

 Задумалсо. Какой же у мну в башке-то сидит? Ведь явно ни тот и ни 
другой. Но ууумныыый... :)

-- 
Regards. Ded.


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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-28 Thread Yuri Grabar
Hello, Dmitry!
You wrote  on Wed, 28 Jun 2006 07:47:42 +0400:

 ??>> Дим, она хуже не на 1 миллиардную, а на 0.20001 - 1 миллиардная...
 ??>> > Можно еще в процентах посчитать, только все равно будет, что
 ??>> "лучшие" индексы проигрывают много больше, чем "худшие".

 DY> Ничего не понимаю. Ты пишешь: "хуже этой константы". Таковая у нас одна
 DY> - 0.2. Итоговая селективность - 0.2001. Я ни фига не вижу, как, для
 DY> чего и в каких процентах лучшие индексы вдруг будут проигрывать
 DY> худшим.

Предположим, константа равна 0.2. Предположим, что есть два индекса, 
теоретически подходящих для использования - IDX1 с селективностью 0.2 и IDX2 
с селективностью 0.002 (не придирайся к конкретным значениям, просто 
пример). Индекс IDX2 явно предпочтительнее индекса IDX1 (грубо говоря в 100 
раз лучше). Вычисляем по сегодняшнему алгоритму результирующую 
селективность:
для IDX1 она будет 0.36, для IDX2 - 0.2016. Смотрим сколько потеряли 
селективности индексов после ее ухудшения:
IDX1: 0.36 / 0.2 = 1.8 раза
IDX2: 0.2016 / 0.002 = 100.8
итоговое отношение селективностей: 0.36 / 0.2016 = 1.79

Итого, относительно хороший индекс стал хуже в 100 раз, а относительно 
плохой - только в 1.8 раза. Кроме того, исходно индекс IDX2 был в 100 раз 
более предпочтителен, чем IDX1. После вычислений - только в 1.79 раза. Вот 
это я и говорю - чем лучше индекс, тем больше он теряет и тем ближе он 
становится к худшим. В результате такого приближения оптимизатор может для 
выполнения выбрать намного более плохой индекс только потому, что там 
сравнение идет на равно, а для более лучшего индекса на between.

 ??>> по нему никто и индекс строить
 ??>> не будет. А даже если он есть, то его всегда можно +0 погасить.
 ??>> Заставить же использовать кроме ручного планирования способа нет.

 DY> Т.е. таки rule-based оптимизатор? Нет уж, извини, не согласная я (с)

Я этого не говорил. Полностью согласен с тем, что для индексов, которые 
попадают в условия between, больше, меньше, staring нужно перед сравнением 
ухудшить селективность. Я не согласен с существующим алгоритмом ухудшения 
селективности. А уж первоначальный выбор коэффициентов в 0.2 и 0.5 для меня 
вообще непонятен.

-- 
With best regards, Yuri Grabar. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-28 Thread Horsun Vlad
"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 для меня
> вообще непонятен.

Я плакаль

-- 
Хорсун Влад



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread Yuri Grabar
Hello, Horsun!
You wrote  on Thu, 29 Jun 2006 09:56:18 +0300:

 HV> "Yuri Grabar" ...

 ??>> Предположим, константа равна 0.2. Предположим, что есть два индекса,
 ??>> теоретически подходящих для использования - IDX1 с селективностью 0.2
 ??>> и IDX2 с селективностью 0.002 (не придирайся к конкретным значениям,
 ??>> просто пример). Индекс IDX2 явно предпочтительнее индекса IDX1 (грубо
 ??>> говоря в 100 раз лучше). Вычисляем по сегодняшнему алгоритму
 ??>> результирующую селективность: для IDX1 она будет 0.36, для IDX2 -
 ??>> 0.2016.

 HV> И индекс IDX2 остался более предпочтительным.

Среди этих двух - да. Среди всех возможных - далеко не факт.

 ??>> Смотрим сколько потеряли
 ??>> селективности индексов после ее ухудшения:

 HV> Зачем ?

Просто. Ради справедливости :)

 ??>> В результате такого приближения оптимизатор может для
 ??>> выполнения выбрать намного более плохой индекс только потому, что там
 ??>> сравнение идет на равно, а для более лучшего индекса на between.

 HV> И будет прав. Ибо на равно выберется записей меньше, чем на
 HV> between, исходя из имеющейся у него информации

Угу... Это ярко проявилось в том примере, с которого все и началось - 
_проигрыш_ был в сотни раз. Во всем. Причем, скорее всего, не "исходя из 
имеющейся у него информации", а из-за выбранного способа ее интерпретации.

 ??>> Я не согласен с существующим алгоритмом ухудшения селективности.

 HV> Предложи свой. Только обоснуй,
Не могу. Недостаточно данных. Если бы мог - просто сделал исправление в коде 
сервера и пересобрал. То, что навскидку было бы хорошо (чисто интуитивно, 
без доказательств) было тобой с Димой с ходу отвергнуто, причем, тоже без 
каких-либо доказательств. Вы их и не обязаны мне предоставлять, но тогда и 
отвергать с ходу тоже как-то нехорошо...

 HV>  а не пальцем в небо тыкай

Выбранный на сейчас способ тоже сильно смахивает на "пальцем в небо". 
Конечно, может и есть какие-то исходные предпосылки и тесты, которые мне не 
известны. Просто говорить, что "в Оракле аналогичный коэффициент столько-то" 
скорее всего тоже нельзя, потому что в Оракле это не единственный критерий 
оптимизации. И промах в этом направлении может быть скомпенсирован теми же 
гистограммами. Но в FB-то их нет...

 ??>> А уж первоначальный выбор коэффициентов в 0.2 и 0.5 для меня
 ??>> вообще непонятен.

 HV> Я плакаль

А я - просто рыдал, глядя на тормозящую на простейших запросах базу... :( 
Соберем слезы и посмотрим у кого больше? ;)

-- 
With best regards, Yuri Grabar. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread ������� ����

"Yuri Grabar" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> HV> И будет прав. Ибо на равно выберется записей меньше, чем на
> HV> between, исходя из имеющейся у него информации
>
> Угу... Это ярко проявилось в том примере, с которого все и началось -
> _проигрыш_ был в сотни раз. Во всем. Причем, скорее всего, не "исходя из
> имеющейся у него информации", а из-за выбранного способа ее интерпретации.

Честно говоря очень хотелось бы услышать от тебя (если не сложно конечно) 
результаты тестирования на "проблемной" базе последнего snapshotа с 
измененными коэффициентами. Сказалось ли в твоем случае изменение или нет? 
Если да, то в какую сторону :) 




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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread Horsun Vlad
"Yuri Grabar" ...

>  ??>> Я не согласен с существующим алгоритмом ухудшения селективности.
>
>  HV> Предложи свой. Только обоснуй,
> Не могу. Недостаточно данных.

Может тогда хватит воздух сотрясать ?

> Если бы мог - просто сделал исправление в коде
> сервера и пересобрал. То, что навскидку было бы хорошо (чисто интуитивно,
> без доказательств)

Это к братьям-писателям. У которых в конце всегда хеппи-энд

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

Мы тебе сорок восемь раз все разжевали и в рот положили.

>  HV>  а не пальцем в небо тыкай
>
> Выбранный на сейчас способ тоже сильно смахивает на "пальцем в небо".

Нет

> Конечно, может и есть какие-то исходные предпосылки и тесты, которые мне не
> известны. Просто говорить, что "в Оракле аналогичный коэффициент столько-то"
> скорее всего тоже нельзя, потому что в Оракле это не единственный критерий
> оптимизации. И промах в этом направлении может быть скомпенсирован теми же
> гистограммами. Но в FB-то их нет...

Не может он быть ими скомпенсирован. Только если параметризованные запросы
заново компилить для каждых новых значений пар-ров. Это к ASA

-- 
Хорсун Влад

PS всё, я сюда больше не пишу, это бесполезно



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread Yuri Grabar
Hello, Евгений!
You wrote  on Thu, 29 Jun 2006 13:17:43 +0500:

[сорри, пропускаем...]

 ЕК> Честно говоря очень хотелось бы услышать от тебя (если не сложно
 ЕК> конечно) результаты тестирования на "проблемной" базе последнего
 ЕК> snapshotа с измененными коэффициентами. Сказалось ли в твоем случае
 ЕК> изменение или нет? Если да, то в какую сторону :)

Не сложно. При использовании коэффициента

const double REDUCE_SELECTIVITY_FACTOR_BETWEEN = 0.0025;

выбор плана для выполнения на "проблемной", как ты выразился (просто я не 
считаю ее какой бы то ни было проблемной - обычная она), базе стал таким же, 
как он был в FB 1.5 и в FB 2.0 на ODS 10.1. Что это дает для конечного 
результата? На данной конкретной таблице это может оказаться хорошо, на 
другой - недостаточно и нужно брать коэффициент еще ниже. Ставить этот 
сервер для работы пользователям уже как-то страшновато. Соответственно, и 
"тестирования под нагрузкой" тоже не будет.

-- 
With best regards, Yuri Grabar. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread ������� ����

"Yuri Grabar" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> Hello, Евгений!
> You wrote  on Thu, 29 Jun 2006 13:17:43 +0500:
>
> [сорри, пропускаем...]
>
> ЕК> Честно говоря очень хотелось бы услышать от тебя (если не сложно
> ЕК> конечно) результаты тестирования на "проблемной" базе последнего
> ЕК> snapshotа с измененными коэффициентами. Сказалось ли в твоем случае
> ЕК> изменение или нет? Если да, то в какую сторону :)
>
> Не сложно. При использовании коэффициента
>
> const double REDUCE_SELECTIVITY_FACTOR_BETWEEN = 0.0025;
>
> выбор плана для выполнения на "проблемной", как ты выразился (просто я не
> считаю ее какой бы то ни было проблемной - обычная она),

Я как раз ее по настоящему проблемной не считаю, поэтому в кавычки и закрыл 
это слово :)

> базе стал таким же, как он был в FB 1.5 и в FB 2.0 на ODS 10.1. Что это 
> дает для конечного
> результата? На данной конкретной таблице это может оказаться хорошо, на
> другой - недостаточно и нужно брать коэффициент еще ниже.

Я уверен в том, что ты с тем же успехом сможешь написать запрос к _тойже_ 
таблице, где коэффициент надо будет брать гораздо _выше_.
Цель стоит:
DY> "Смысл - если параметр удовлетворяет 95% пользователей, то нефиг его 
давать крутить."
Без ручного подправления планов все равно не обойтись :(

> Ставить этот сервер для работы пользователям уже как-то страшновато. 
> Соответственно, и
> "тестирования под нагрузкой" тоже не будет.

К сожалению в этой ситуации без тестирования вряд ли ты что-нибудь докажешь 
:( 




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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread Yuri Grabar
Hello, Евгений!
You wrote  on Thu, 29 Jun 2006 14:57:04 +0500:

[сорри, пропускаем...]

 ??>> базе стал таким же, как он был в FB 1.5 и в FB 2.0 на ODS 10.1. Что
 ??>> это дает для конечного результата? На данной конкретной таблице это
 ??>> может оказаться хорошо, на другой - недостаточно и нужно брать
 ??>> коэффициент еще ниже.

 ЕК> Я уверен в том, что ты с тем же успехом сможешь написать запрос к
 ЕК> _тойже_ таблице, где коэффициент надо будет брать гораздо _выше_.
 ЕК> Цель стоит:
 DY>> "Смысл - если параметр удовлетворяет 95% пользователей, то нефиг его
 ЕК> давать крутить."
 ЕК> Без ручного подправления планов все равно не обойтись :(

К это же таблице - очень сильно вряд ли... Если бы мог, я бы просто индекс 
по этому полю не строил вообще. К другой может быть, но пока не возникало 
необходимости. К тому же, я очень сильно сомневаюсь в "... удовлетворяет 95% 
пользователей..." для фичи, которая появилась только 5.11.2005 года да еще 
при том, что постоянно слышно "ставить FB 2.0 на рабочий сервер? Да ты что - 
это ж еще бэта (только релиз кандидат)!". Его в рабочих условиях пока, 
скорее всего, мало кто тестирует. Да и проявляется фича только на ODS 11.0. 
Потому и просил в конфиг, чтобы проверить насколько хорошо/плохо работает. 
Тут же кроме статистики "в среднем", "на глаз" вряд ли можно хоть что-то 
получить.

 ??>> Ставить этот сервер для работы пользователям уже как-то страшновато.
 ??>> Соответственно, и
 ??>> "тестирования под нагрузкой" тоже не будет.

 ЕК> К сожалению в этой ситуации без тестирования вряд ли ты что-нибудь
 ЕК> докажешь :(

А я и с тестированием ничего не докажу. Всегда есть запасной выход - "это 
только твои данные, у других по другому, поэтому ради тебя одного никто не 
будет ничего делать". Логично, в общем-то... А вот не дать порулить этим - 
не логично. Вообще странно слышать, что мол тестеров у нас недостаточно и 
вместе с тем не давать ничего тестировать...
Ладно, завязываем...

-- 
With best regards, Yuri Grabar. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread Yuri Grabar
Hello, Horsun!
You wrote  on Thu, 29 Jun 2006 09:56:18 +0300:

[сорри, пропускаем...]

??>> Я не согласен с существующим алгоритмом ухудшения селективности.

HV> Предложи свой. Только обоснуй, а не пальцем в небо тыкай

Обосновать, конечно, нечем... Да ты и не предложил критериев обоснования...
Но, например - динамическое изменение коэффициента в зависимости от исходной
селективности индекса. Цель - таки задействовать селективность, не
ограничивая ее искуственно выбранным коэффициентом. Предположим, менять
коэффициент так:

new_factor = factor / ((1 - selectivity)/ selectivity * K + 1)

График изменения селективности индекса для factor = 0.2 и K = 0.002
прилагается. На нем по оси X - исходная селективность индекса, по Y -
результирующая:
малиновый - исходная селективность индекса
синий - существующий алгоритм расчета
желтый - предлагаемый

-- 
With best regards, Yuri Grabar. 


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




Re: BETWEEN, LESS, GREAT STARTING

2006-06-29 Thread Yuri Grabar
Hello, Horsun!
You wrote  on Thu, 29 Jun 2006 09:56:18 +0300:

[сорри, пропускаем...]

??>> Я не согласен с существующим алгоритмом ухудшения селективности.

HV> Предложи свой. Только обоснуй, а не пальцем в небо тыкай

Обосновать, конечно, нечем... Да ты и не предложил критериев обоснования...
Но, например - динамическое изменение коэффициента в зависимости от исходной
селективности индекса. Цель - таки задействовать селективность, не
ограничивая ее искусственно выбранным коэффициентом. Предположим, менять
коэффициент так:

new_factor = factor / ((1 - selectivity)/ selectivity * K + 1)

График изменения селективности индекса для factor = 0.2 и K = 0.002
прилагается. На нем по оси X - исходная селективность индекса, по Y -
результирующая:
малиновый - исходная селективность индекса
синий - существующий алгоритм расчета
желтый - предлагаемый

-- 
With best regards, Yuri Grabar. 


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




Re: BETWEEN, LESS, GREAT STARTING

2006-07-01 Thread Boltik Evgeny
> ??>> базе стал таким же, как он был в FB 1.5 и в FB 2.0 на ODS 10.1. Что
> ??>> это дает для конечного результата? На данной конкретной таблице это
> ??>> может оказаться хорошо, на другой - недостаточно и нужно брать
> ??>> коэффициент еще ниже.
>
> ЕК> Я уверен в том, что ты с тем же успехом сможешь написать запрос к
> ЕК> _тойже_ таблице, где коэффициент надо будет брать гораздо _выше_.
> ЕК> Цель стоит:
> DY>> "Смысл - если параметр удовлетворяет 95% пользователей, то нефиг его
> ЕК> давать крутить."
> ЕК> Без ручного подправления планов все равно не обойтись :(
>
> К это же таблице - очень сильно вряд ли... Если бы мог, я бы просто индекс
> по этому полю не строил вообще. К другой может быть, но пока не возникало
> необходимости. К тому же, я очень сильно сомневаюсь в "... удовлетворяет 
> 95%
> пользователей..." для фичи, которая появилась только 5.11.2005 года да еще
> при том, что постоянно слышно "ставить FB 2.0 на рабочий сервер? Да ты 
> что -
> это ж еще бэта (только релиз кандидат)!". Его в рабочих условиях пока,
> скорее всего, мало кто тестирует. Да и проявляется фича только на ODS 
> 11.0.
> Потому и просил в конфиг, чтобы проверить насколько хорошо/плохо работает.
> Тут же кроме статистики "в среднем", "на глаз" вряд ли можно хоть что-то
> получить.
>
> ??>> Ставить этот сервер для работы пользователям уже как-то страшновато.
> ??>> Соответственно, и
> ??>> "тестирования под нагрузкой" тоже не будет.
>
> ЕК> К сожалению в этой ситуации без тестирования вряд ли ты что-нибудь
> ЕК> докажешь :(
>
> А я и с тестированием ничего не докажу. Всегда есть запасной выход - "это
> только твои данные, у других по другому, поэтому ради тебя одного никто не
> будет ничего делать". Логично, в общем-то... А вот не дать порулить этим -
> не логично. Вообще странно слышать, что мол тестеров у нас недостаточно и
> вместе с тем не давать ничего тестировать...

Да данные у нас у всех разные. Да при работе на бетте на реальных базах 
всплывают баги. Но теже баги громаздим и мы в своих программах. А как ты 
думаешь перейти на ФБ2 без предварительного теста? Помница после перехода на 
ФБ+ я Бузза достал с тем что у меня не работает то что уже давно не беттой 
считается. Причина бональна я работаю не как все и все объекты создаются 
автоматически. А Дмитрия я честень тоже достаю и ни куда неденешся может как 
раз в твоем случае он и другие разработчики увидят то что раньше не замечали 
и поправят оптимизатор. А так получится ты предпологал одно вышел релиз 
двойки и ты начнешь все заново мол плохо не работает тормозит  И спросят 
тебя ты где был раньше? Ждит теперь 2.5 там поправим.
Тебе правильно говорят проверь результаты и в студию. Я тут написал один 
отчет он ушел в работу на 2 часа, стал разбиратся, а оптимизатор не доучен, 
сообщил и глядишь будет всем счастье, обучат его думать ;).
"А недоучен элементарному в погоне за глобальным"




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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-05 Thread Oleg LOA
"Dmitry Yemanov" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> У человека BETWEEN с диапазоном за год. Все рады?
> ЗЫ. Кричать все горазды, но верблюдом все равно буду я.

Угу, а не послать ли нам наких товарищей за ручным планированием таких ситуаций?
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: BETWEEN, LESS, GREAT STARTING

2006-07-05 Thread Dmitry Yemanov
"Oleg LOA" <[EMAIL PROTECTED]> wrote:
>
> Угу, а не послать ли нам наких товарищей за ручным планированием таких 
> ситуаций?

Буржуинский товарищ был послан. Ответ: "OK, no problem. Thanks for 
explanations." Почувствуйте разницу, блин. Кому тут шашечки, а кому ехать.


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




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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Oleg LOA
"Dmitry Yemanov" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> "Oleg LOA" <[EMAIL PROTECTED]> wrote:
>>
>> Угу, а не послать ли нам наких товарищей за ручным планированием таких 
>> ситуаций?
> 
> Буржуинский товарищ был послан. Ответ: "OK, no problem. Thanks for 
> explanations." Почувствуйте разницу, блин. Кому тут шашечки, а кому ехать.

Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как послать 
накуй оппонента 21 способом" ;-);-);-)
--~--~-~--~~~---~--~~
-~--~~~~--~~--~--~---



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Мадорский Г . В .
>
> Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как 
> послать накуй оппонента 21 способом" ;-);-);-)
> --~--~-~--~~~---~--~~
Да, да приезжай, тут еще и у Alex-а передовые технологияии перенять можно... 
:)))

With b/r. Gleb. 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Ded
Мадорский Г.В. wrote:

>>Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как 
>>послать накуй оппонента 21 способом" ;-);-);-)
>>--~--~-~--~~~---~--~~
> 
> Да, да приезжай, тут еще и у Alex-а передовые технологияии перенять можно... 
> :)))

А я как вчера под вечер с устатку поизмывался над беднягой :-D

-- 
Regards. Ded.


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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Мадорский Г . В .

>>>Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как
>>>послать накуй оппонента 21 способом" ;-);-);-)
>>>--~--~-~--~~~---~--~~
>>
>> Да, да приезжай, тут еще и у Alex-а передовые технологияии перенять 
>> можно...
>> :)))
>
>А я как вчера под вечер с устатку поизмывался над беднягой :-D
>
>
>

Короче у нас тут академию по ентому делу открыть можно ... :)))

With b/r. Gleb.



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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Alexandr Kochmin
что-то я не пойму проблемы.
Вот взял я таблицу с 700тыс записями.
Индекс есть по полю data
и запрос select * from table1 where data between :data1 and :data2
работает одинаково быстро и на yaffil889 и на FB2RC2 и на FB2RC3
Везде используется индекс по полю data
количество индексных чтений равно количеству возвращенных записей.

Я что-то упустил?

--
С уважением
Кочмин Александр



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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Nikolay Ponomarenko
Hello, Alexandr!
You wrote to Yuri Grabar on Thu, 6 Jul 2006 17:15:55 +0700:

 AK> Индекс есть по полю data
 AK> и запрос select * from table1 where data between :data1 and :data2
 AK> Я что-то упустил?

Вопрос про оценку качества этого индекса - в приведенном запросе он один,
без вариантов - потому все ок.

-- 
-="Самые жыpные кpысы там, где самые жыpные кошки :)"
"В самых жырных чебуреках?"=-
With best regards,  Nikolay Ponomarenko 



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



Re: BETWEEN, LESS, GREAT STARTING

2006-07-06 Thread Boulitchev Aleksey
"Alexandr Kochmin"

> Я что-то упустил?

сначала был JOIN

-- 
Булычев Алексей
http://www.stella-npf.ru



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