|
хумор
|
|||
---|---|---|---|
#18+
особенно интересно ваша дискуссия смотрится под заголовком "ХУМОР" :)) Вы бы хоть топик сменили, что ли... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2007, 15:06 |
|
хумор
|
|||
---|---|---|---|
#18+
vasilisособенно интересно ваша дискуссия смотрится под заголовком "ХУМОР" :)) Вы бы хоть топик сменили, что ли... Тему завел, переходим сюда . ... |
|||
:
Нравится:
Не нравится:
|
|||
02.02.2007, 15:59 |
|
хумор
|
|||
---|---|---|---|
#18+
Еще один Informix Интересно? они хоть в курсе, что такое Informix? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 16:08 |
|
хумор
|
|||
---|---|---|---|
#18+
ООО “Информикс”, 2009 Все права защищены Это вам не это. (с) ДМБ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 17:45 |
|
хумор
|
|||
---|---|---|---|
#18+
Журавлев ДенисRelic HunterHi С уважением отношусь к ix. Так справедливости ради, то что он нашел план быстрее не означает, что запрос исполнился быстрее на "серьезных" данных. Я об соотношении parsing/execution/fetching. Как гооворится, лучше день потерять, зато потом за час долететь :)проблемы информикса лежат несколько в перпендикулярной плоскости. Например в оракле мне притаскивают запрос (обычно запрос несколько сложнее таблиц так на 20 и с пятью коррелированными exists, (встречу проектировщика -- убью тупым топором)): select * from a,b where a.f0=7 and a.f1=b.f1 and func1(a.f3)=0 Возвращает 100 строк Работает 10 мин, комментирую последний предикат - 0 сек. Т.е. порядок применения предикатов, функцию надо применить в конце, постджойн. Я делаю очень просто: select * from (select * from a,b where a.f0=7 and a.f1=b.f1 and rownum>0 -- не даем оптимизатору возможности сделать merge, и push_predicate) where func1(a.f3)=0 В информиксе пришлось бы писать через временные таблицы, и в итоге бы исполнялось 1 сек. Т.е. в информиксе просто нет понятий view merge, predicate pushing, predicate pruning (хотя может оно и есть где-то внутрях). Я возможно что-то упростил слишком сильно (во внешнем where не вызывается хранимая процедура) или не понял пример, но вот на 11.50FC5W2 работает Код: plaintext 1. 2. 3. 4. 5. 6.
и ни каких временных таблиц варианты типа Код: plaintext
тоже прекрасно работают ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 21:55 |
|
хумор
|
|||
---|---|---|---|
#18+
Яковлев ПавелЯ возможно что-то упростил слишком сильно (во внешнем where не вызывается хранимая процедура) или не понял пример, но вот на 11.50FC5W2 работает во первых эта тема труп много лет. во вторых я как бы в курсе уже года два . так вот: select from (select from internal) where Как выполнить этот запрос? Вариантов масса: Сделать слияние (merge), т.е. попросту переписать к виду select from internal where Протолкнуть предикаты для internal внутрь (predicate pushing), т.е. select from (select from internal where) Выполнить как есть, сначала внутреннюю часть, (сложив во временную таблицу весь результат или построчно без временной) , потом остальное. Ну и еще кучка типа pruning,,,, Теперь проблема: бывает субд-ы неправильно применяют предикаты, например потому что не умеют оценивать стоимость функций. Т.е. имеем [select where a and b], если применять предикаты в порядке (a,b) выполнятся будет 0 сек, а если в обратном (b,a), то час. (под a и b понимаются любые конструкции поле=5, >, <, in,exists) Поэтому придуманы мерзкие хинты типа оракляечьего ordered_predicates. Так вот в оракле я использую бессмысленную конструкцию rownum>0, которая мне позволяет выкинуть "тяжелые" предикаты во внешний запрос. Это вообще не проблема оркла или информикса, это мои личные проблемы, типа мне приносят запросы на 8 листов А4, где вплоть до джойна таблиц с помощью функций func1(a.f0)=substr(b.f4), и говорят: "Работает 4 часа, сделай чтоб за 2 сек, пожалуйста". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2009, 23:09 |
|
|
start [/forum/topic.php?fid=44&startmsg=34302603&tid=1607716]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
242ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 333ms |
total: | 669ms |
0 / 0 |