Книга рекордов Привета.
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43
Strannik223 wrote:Mssql server.
Я сам.
Уперся в ограничение в 255 joined tables
Надо было делать отчеты по объектам поля которых динамически определяются пользователями, по моему 3 или 4 join что бы получить 1 поле. Уже не помню как выкрутился . Кажеться pivot table
Правильно ли будет понимать что во FROM clause нельзя перечислять больше 255 таблиц?
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43
Конечно нЕ зачем. Если мне память не изменяет в DB2 версии 6 это ограничение 15.
Вчера была истоия достойная книги рекордов Привета. Созданием индекса время выполнения удалось уменьшить с 40 минут до 8 секунд. А дело было так.
Для совсем другой программы я создал индекс. Ускорение хорошее, но не такое как выше. Поскольку у нас в DB2 все приложения статические и все запросы зранятся в каталоге я смог выявить другие программы, которые могут быть улучшены тем индексом.
Всего оказалось 15 программ. Для того чтобы они начали использовать новый индекс их нужно было перебайндить ("русское" слово заменяющее английское REBIND). Запустил соответствующее задание и оно "зависло" - ждет. Кого ждет? Та программа, о которой было вначале, была запущена и уже отработав 30 минут не выдала ни одного COMMIT и заблокировала мое задание.
Звоню аналисту, говорю надо бы вам добавить COMMITs, чтобы других не держать, как вы мол на продакшн с такой программой пойдете. На другой день добавляют COMMITs (а я им объясняю мол время конечно увеличится, но хоть с другими сможете работать одновременно), запускают - вылетает готовая через 8 секунд.
Все в шоке, никто не может понять почему. Наконец, сопоставив события я проверяю список программ, которые стали использовать новых индекс и естественно одной из них была та программа.
Вчера была истоия достойная книги рекордов Привета. Созданием индекса время выполнения удалось уменьшить с 40 минут до 8 секунд. А дело было так.
Для совсем другой программы я создал индекс. Ускорение хорошее, но не такое как выше. Поскольку у нас в DB2 все приложения статические и все запросы зранятся в каталоге я смог выявить другие программы, которые могут быть улучшены тем индексом.
Всего оказалось 15 программ. Для того чтобы они начали использовать новый индекс их нужно было перебайндить ("русское" слово заменяющее английское REBIND). Запустил соответствующее задание и оно "зависло" - ждет. Кого ждет? Та программа, о которой было вначале, была запущена и уже отработав 30 минут не выдала ни одного COMMIT и заблокировала мое задание.
Звоню аналисту, говорю надо бы вам добавить COMMITs, чтобы других не держать, как вы мол на продакшн с такой программой пойдете. На другой день добавляют COMMITs (а я им объясняю мол время конечно увеличится, но хоть с другими сможете работать одновременно), запускают - вылетает готовая через 8 секунд.
Все в шоке, никто не может понять почему. Наконец, сопоставив события я проверяю список программ, которые стали использовать новых индекс и естественно одной из них была та программа.
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43
zVlad wrote:zVlad wrote:...........
P.S. Да забыл сказать. На той таблице уже были, наверное, 3 индекса, и та программа один из них использовала.
Тоже может быть рекорд, но только в сравнении с Оракл - в нашем приложении не используется ни одного "hint-a". Ни в одном операторе. Хотя в DB2 такая возможность тоже есть.
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
zVlad wrote:Всего оказалось 15 программ. Для того чтобы они начали использовать новый индекс их нужно было перебайндить ("русское" слово заменяющее английское REBIND).
Это тоже достойно своеобразного рекорда
То есть если нет автора программы то создавай индекс не создавай - все бесполезно ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 6449
- Joined: 15 May 2003 00:04
- Location: LA
zVlad wrote:Конечно нЕ зачем. Если мне память не изменяет в DB2 версии 6 это ограничение 15.
Вчера была истоия достойная книги рекордов Привета. Созданием индекса время выполнения удалось уменьшить с 40 минут до 8 секунд. А дело было так.
Для совсем другой программы я создал индекс. Ускорение хорошее, но не такое как выше. Поскольку у нас в DB2 все приложения статические и все запросы зранятся в каталоге я смог выявить другие программы, которые могут быть улучшены тем индексом.
Всего оказалось 15 программ. Для того чтобы они начали использовать новый индекс их нужно было перебайндить ("русское" слово заменяющее английское REBIND). Запустил соответствующее задание и оно "зависло" - ждет. Кого ждет? Та программа, о которой было вначале, была запущена и уже отработав 30 минут не выдала ни одного COMMIT и заблокировала мое задание.
Звоню аналисту, говорю надо бы вам добавить COMMITs, чтобы других не держать, как вы мол на продакшн с такой программой пойдете. На другой день добавляют COMMITs (а я им объясняю мол время конечно увеличится, но хоть с другими сможете работать одновременно), запускают - вылетает готовая через 8 секунд.
Все в шоке, никто не может понять почему. Наконец, сопоставив события я проверяю список программ, которые стали использовать новых индекс и естественно одной из них была та программа.
Это просто классический случай... Мы после 10-ти лет существования системы(у разных клиентов) продолжаем вылавливать подобные глюки. Потом клиент прибегает с выпученными глазами и вопросом "а чего оно так быстро бегает?"
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43
Dmitry67 wrote:zVlad wrote:Всего оказалось 15 программ. Для того чтобы они начали использовать новый индекс их нужно было перебайндить ("русское" слово заменяющее английское REBIND).
Это тоже достойно своеобразного рекорда
То есть если нет автора программы то создавай индекс не создавай - все бесполезно ?
Sorry, Dima, my explanation was not complete. It doesn't mean "..если нет автора программы то создавай индекс не создавай - все бесполезно". Program, I have, is capable to generate DB2 commands like:
REBIND PACKAGE (<collection id>.<program name>) EXPLAIN(YES)
for each program which could get benefit from new index created. This is for static programs only. Dynamic programs will get better "immediately".
-
- Уже с Приветом
- Posts: 203
- Joined: 11 Nov 2003 19:53
- Location: Bridgepointe
-
- Уже с Приветом
- Posts: 203
- Joined: 11 Nov 2003 19:53
- Location: Bridgepointe
На стыке R-технологии и монофункционального программирования был создан предельный для редактора граф. Только автор умел перемещаться по этому графу. Граф был напечатан очень мелким шрифтом на листах A4xRxC (R=[3..5], C=[4..6]) и выглядел очень даже красиво.
Естественно, назывался он "граф В...а"
--
Glossary:
1. R-технология - визуальная среда программирования изображающая управляющие конструкции графически.
2. Монофункциональное программирования - стиль программирования, при котором вся программа пишется в одной функции (как правило, main():)
Cсылки:
http://www.technosoft.kiev.ua/
<my-web-page-in-profile>/13782.html (dear moderator, forgive me this little шалость
Естественно, назывался он "граф В...а"
--
Glossary:
1. R-технология - визуальная среда программирования изображающая управляющие конструкции графически.
2. Монофункциональное программирования - стиль программирования, при котором вся программа пишется в одной функции (как правило, main():)
Cсылки:
http://www.technosoft.kiev.ua/
<my-web-page-in-profile>/13782.html (dear moderator, forgive me this little шалость
-
- Уже с Приветом
- Posts: 8249
- Joined: 23 Jul 2003 03:53
- Location: SPb - KW - NY - CT - MD
zVlad wrote:my explanation was not complete. It doesn't mean "..если нет автора программы то создавай индекс не создавай - все бесполезно". Program, I have, is capable to generate DB2 commands like:
REBIND PACKAGE (<collection id>.<program name>) EXPLAIN(YES)
for each program which could get benefit from new index created. This is for static programs only. Dynamic programs will get better "immediately".
(Если это кому-нибудь интересно...) Вроде, они называются "embedded SQL statements" - когда вся предварительная обработка SQL выполняется один раз при компиляции, а затем привязывается к конкретной DBMS с помощью BIND/REBIND (в том числе, выбирается execution plan вообще, и индексы в частности). Автор программы тут не нужен, - но должно быть известно, какие приложения содержат embedded SQL, - и при изменениях базы в общем случае следует выполнять REBIND. Либо приложение может даже перестать работать (т.е. выдавать сообщения об ошибке), если сделаны серьезные изменения в базе (пересоздана таблица, например).
В случае "dynamic SQL statements" BIND не требуется, и на изменение индексов и прочего программа "реагирует" сразу. Зато при выполнении производится заново синтаксический анализ и PREPARE, прежде чем SQL будет реально выполнен.
В общем - палка о двух концах...
LG - Life's good.
But good life is much better.
But good life is much better.
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
KVA wrote:A. Fig Lee wrote:Комиляция Java 2 SDK 1.4 стартовала Понедельник, 8 утра. 31 час спустя компиляция все продолжается.
Придется memory докупить.
.... или использовать Jikes. Не уверен правда что он 1.4 держит.
Да нет, у меня же ни рантайма, ничего нет. Все надо из сурсов компайлить. Байт код чтоб исполнялся на чемто
Верить нельзя никому - даже себе. Мне - можно!
-
- Уже с Приветом
- Posts: 203
- Joined: 11 Nov 2003 19:53
- Location: Bridgepointe
Что, и на Sun нет binary, и негде сделать crosscompilation?A. Fig Lee wrote:KVA wrote:A. Fig Lee wrote:Комиляция Java 2 SDK 1.4 стартовала Понедельник, 8 утра. 31 час спустя компиляция все продолжается.
Придется memory докупить.
.... или использовать Jikes. Не уверен правда что он 1.4 держит.
Да нет, у меня же ни рантайма, ничего нет. Все надо из сурсов компайлить. Байт код чтоб исполнялся на чемто
-
- Уже с Приветом
- Posts: 540
- Joined: 05 Feb 1999 10:01
- Location: Louisville, CO 80027 USA
A. Fig Lee wrote:Machine P233 32M memory. 128M swap
Harddrive 9 gig.
FreeBSD 5.2.1
Комиляция Java 2 SDK 1.4 стартовала Понедельник, 8 утра. 31 час спустя компиляция все продолжается.
Придется memory докупить.
То же самое, только проц 300, мозгов 190М и фря четвертая. KDE со всеми депенденсами, включая иксы и стафф. Трое суток.
/felis
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
-
- Уже с Приветом
- Posts: 203
- Joined: 11 Nov 2003 19:53
- Location: Bridgepointe
То есть, я не могу скроссить на M$ под FreeBSD?A. Fig Lee wrote:smesh wrote:Что, и на Sun нет binary, и негде сделать crosscompilation?
Binary does not exists for FreeBSD at all.
Кросс компилейшн?
Дык я делаю
make install clean
2. Системы такой же нет.
Да я и не думал что так будет. Жаль уже процесс прерывать.
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
-
- Уже с Приветом
- Posts: 203
- Joined: 11 Nov 2003 19:53
- Location: Bridgepointe
- Поручик, играете ли вы на фортепьяно?A. Fig Lee wrote:smesh wrote:То есть, я не могу скроссить на M$ под FreeBSD?
А как? Компилить на МС для Фри? Нет, ясен пень. Хедеры другие, компайлер другой, дефайны другие, мейки не те или я чего то не понял?
- Не знаю, не пробовал.
Думаю, что это просто, но, увы, не пробовал-с...
-
- Уже с Приветом
- Posts: 12072
- Joined: 17 Nov 2002 03:41
- Location: английская колония
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
-
- Уже с Приветом
- Posts: 15312
- Joined: 30 Apr 2003 16:43