Re: BETWEEN, LESS, GREAT STARTING
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
"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
"Yuri Grabar" <[EMAIL PROTECTED]> wrote: > > Только вот, например, очень "хороший" индекс с селективностью в 1 > миллиардную все равно получит селективность 0.20001. Т.е. , > результирующая селективность, какой бы ни была "хорошей" селективность > исходного индекса, все равно будет хуже этой константы. Хуже на одну миллиардную. Это критично? > Получается, что чем > хуже исходный индекс, тем меньше он "теряет в весе" по сравнению с более > хорошими индексами. Вот это и смущает. Ты про разницу в 1.5 раза (по итоговой псевдо-селективности) вместо трех порядков (по начальной селективности)? Дык по хорошему разницы вообще быть не должно, обсуждали ведь это :-) Ты не согласен, но убедить я тебя не могу. -- Дмитрий Еманов --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
"Евгений Килин" > Только 0.0025 для between, а не 0.025. 1/365 ≈ 0,002739 ИМХО, это и есть источни оракловского оптимизьма -- Булычев Алексей http://www.stella-npf.ru --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
"Boulitchev Aleksey" <[EMAIL PROTECTED]> wrote: > > ИМХО, это и есть источни оракловского оптимизьма На самом деле, это 0.05 * 0.05 :-) А вот откуда они взяли эти 0.05, действительно интересно. -- Дмитрий Еманов --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
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
"Yuri Grabar" <[EMAIL PROTECTED]> wrote: > > ??>> все равно будет хуже этой константы. > > DY> Хуже на одну миллиардную. Это критично? > > Дим, она хуже не на 1 миллиардную, а на 0.20001 - 1 миллиардная... > Можно > еще в процентах посчитать, только все равно будет, что "лучшие" индексы > проигрывают много больше, чем "худшие". Ничего не понимаю. Ты пишешь: "хуже этой константы". Таковая у нас одна - 0.2. Итоговая селективность - 0.2001. Я ни фига не вижу, как, для чего и в каких процентах лучшие индексы вдруг будут проигрывать худшим. > по нему никто и индекс строить > не будет. А даже если он есть, то его всегда можно +0 погасить. Заставить > же > использовать кроме ручного планирования способа нет. Т.е. таки rule-based оптимизатор? Нет уж, извини, не согласная я (с) -- Дмитрий Еманов --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
Ребята, а расскажите что такое руле-бейзед оптимизатор? --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
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
"Dmitri Kuzmenko" > оптимизаторы бывают двух типов - cost estimation > и rule-based. > rule-based - это основанный на правилах. > cost estimation - это оценка стоимости (селективность, размер таблиц > и т.п.). канон зодчих, блин ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =] -- Булычев Алексей http://www.stella-npf.ru --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
Hello, Aleksey! Boulitchev Aleksey wrote: > канон зодчих, блин > ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =] а какие другие? Телепатические? Ассоциативные? -- Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34 --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
"Dmitri Kuzmenko" >> ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =] > > а какие другие? Телепатические? Ассоциативные? неизвестные -- Булычев Алексей http://www.stella-npf.ru --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
Dmitri Kuzmenko wrote: >>ИЗВЕСТНО о двух видах оптимизаторов ..., уверен есть и другие =] > > > а какие другие? Телепатические? Ассоциативные? Задумалсо. Какой же у мну в башке-то сидит? Ведь явно ни тот и ни другой. Но ууумныыый... :) -- Regards. Ded. --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
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
"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
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
"Yuri Grabar" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > HV> РбÑÐ´ÐµÑ Ð¿Ñав. Ðбо на Ñавно вÑбеÑеÑÑÑ Ð·Ð°Ð¿Ð¸Ñей менÑÑе, Ñем на > HV> between, иÑÑ Ð¾Ð´Ñ Ð¸Ð· имеÑÑейÑÑ Ñ Ð½ÐµÐ³Ð¾ инÑоÑмаÑии > > УгÑ... ÐÑо ÑÑко пÑоÑвилоÑÑ Ð² Ñом пÑимеÑе, Ñ ÐºÐ¾ÑоÑого вÑе и наÑалоÑÑ - > _пÑоигÑÑÑ_ бÑл в ÑоÑни Ñаз. Ðо вÑем. ÐÑиÑем, ÑкоÑее вÑего, не "иÑÑ Ð¾Ð´Ñ Ð¸Ð· > имеÑÑейÑÑ Ñ Ð½ÐµÐ³Ð¾ инÑоÑмаÑии", а из-за вÑбÑанного ÑпоÑоба ее инÑеÑпÑеÑаÑии. ЧеÑÑно говоÑÑ Ð¾ÑÐµÐ½Ñ Ñ Ð¾ÑелоÑÑ Ð±Ñ ÑÑлÑÑаÑÑ Ð¾Ñ ÑÐµÐ±Ñ (еÑли не Ñложно конеÑно) ÑезÑлÑÑаÑÑ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° "пÑоблемной" базе поÑледнего snapshotа Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð½Ñми коÑÑÑиÑиенÑами. СказалоÑÑ Ð»Ð¸ в Ñвоем ÑлÑÑае изменение или неÑ? ÐÑли да, Ñо в какÑÑ ÑÑоÑÐ¾Ð½Ñ :) --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
"Yuri Grabar" ... > ??>> Я не согласен с существующим алгоритмом ухудшения селективности. > > HV> Предложи свой. Только обоснуй, > Не могу. Недостаточно данных. Может тогда хватит воздух сотрясать ? > Если бы мог - просто сделал исправление в коде > сервера и пересобрал. То, что навскидку было бы хорошо (чисто интуитивно, > без доказательств) Это к братьям-писателям. У которых в конце всегда хеппи-энд > было тобой с Димой с ходу отвергнуто, причем, тоже без > каких-либо доказательств. Вы их и не обязаны мне предоставлять, но тогда и > отвергать с ходу тоже как-то нехорошо... Мы тебе сорок восемь раз все разжевали и в рот положили. > HV> а не пальцем в небо тыкай > > Выбранный на сейчас способ тоже сильно смахивает на "пальцем в небо". Нет > Конечно, может и есть какие-то исходные предпосылки и тесты, которые мне не > известны. Просто говорить, что "в Оракле аналогичный коэффициент столько-то" > скорее всего тоже нельзя, потому что в Оракле это не единственный критерий > оптимизации. И промах в этом направлении может быть скомпенсирован теми же > гистограммами. Но в FB-то их нет... Не может он быть ими скомпенсирован. Только если параметризованные запросы заново компилить для каждых новых значений пар-ров. Это к ASA -- Хорсун Влад PS всё, я сюда больше не пишу, это бесполезно --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
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
"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
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
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
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
> ??>> базе стал таким же, как он был в 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
"Dmitry Yemanov" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > У человека BETWEEN с диапазоном за год. Все рады? > ЗЫ. Кричать все горазды, но верблюдом все равно буду я. Угу, а не послать ли нам наких товарищей за ручным планированием таких ситуаций? --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
"Oleg LOA" <[EMAIL PROTECTED]> wrote: > > Угу, а не послать ли нам наких товарищей за ручным планированием таких > ситуаций? Буржуинский товарищ был послан. Ответ: "OK, no problem. Thanks for explanations." Почувствуйте разницу, блин. Кому тут шашечки, а кому ехать. -- Дмитрий Еманов --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
"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
> > Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как > послать накуй оппонента 21 способом" ;-);-);-) > --~--~-~--~~~---~--~~ Да, да приезжай, тут еще и у Alex-а передовые технологияии перенять можно... :))) With b/r. Gleb. --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
Мадорский Г.В. wrote: >>Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как >>послать накуй оппонента 21 способом" ;-);-);-) >>--~--~-~--~~~---~--~~ > > Да, да приезжай, тут еще и у Alex-а передовые технологияии перенять можно... > :))) А я как вчера под вечер с устатку поизмывался над беднягой :-D -- Regards. Ded. --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
>>>Дима, приезжай ко мне на краткий курс: серия Культурная столица, - "Как >>>послать накуй оппонента 21 способом" ;-);-);-) >>>--~--~-~--~~~---~--~~ >> >> Да, да приезжай, тут еще и у Alex-а передовые технологияии перенять >> можно... >> :))) > >А я как вчера под вечер с устатку поизмывался над беднягой :-D > > > Короче у нас тут академию по ентому делу открыть можно ... :))) With b/r. Gleb. --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
что-то я не пойму проблемы. Вот взял я таблицу с 700тыс записями. Индекс есть по полю data и запрос select * from table1 where data between :data1 and :data2 работает одинаково быстро и на yaffil889 и на FB2RC2 и на FB2RC3 Везде используется индекс по полю data количество индексных чтений равно количеству возвращенных записей. Я что-то упустил? -- С уважением Кочмин Александр --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: BETWEEN, LESS, GREAT STARTING
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
"Alexandr Kochmin" > Я что-то упустил? сначала был JOIN -- Булычев Алексей http://www.stella-npf.ru --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---