Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
что-то мне сдается, что уважаемый gybson не имеет понятия, как в нормальных услорвиях происходит доступ к промышленным системам, в том числе и по вопросу инсталляции, upgrade, и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 14:33 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
К тому, что написал Viktor, добавлю - даже очень тщательно написанный код требует прохождения вывереной бизнес процедуры прежде чем попадет в производство. Это целый регламент , который как раз и разрабатывался для исключения исключительных случаев. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 14:35 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
авторЕщё хочу заметить, что MSSQL не может передавать коннект в ХП. То есть из ХП надо обратно соединятся с базой, что бы там что-то сделать мда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 14:37 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
1024 авторЕщё хочу заметить, что MSSQL не может передавать коннект в ХП. То есть из ХП надо обратно соединятся с базой, что бы там что-то сделать мда... Я так полагаю товарищ имелл в виду ВНЕШНИЕ хп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 15:07 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Есть набор системных внешних процедур, в которых до сих пор иногда находят баги. А в остальном разумеется, не было еще никогда такого, чтобы баг пролез в рабочую систему, что вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 16:06 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Victor MetelitsaДля потенциально подозрительных SP и UDF "на C" DB2 имеет ключевое слово FENCED. Огораживаем забором, короче. В случае чего упадёт только один коннект.Во, блин. Думал они вообще в отдельном процессе исполняются... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 16:37 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
pavelvp Victor MetelitsaДля потенциально подозрительных SP и UDF "на C" DB2 имеет ключевое слово FENCED. Огораживаем забором, короче. В случае чего упадёт только один коннект.Во, блин. Думал они вообще в отдельном процессе исполняются... Это у Оракла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 18:14 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Когда внешняя процедура NOT FENCED, то она исполняется в адресном пространстве сервера и примерно в 2 раза быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 18:22 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
gardenmanКогда внешняя процедура NOT FENCED, то она исполняется в адресном пространстве сервера и примерно в 2 раза быстрее. NOT FENCED быстрее, но может завалить весь сервер ? а теперь они в бэкапе участвуют или и теперь это отдельно осью нужно бэкапить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 18:28 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Victor MetelitsaМожно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет? Про Оракл читаем здесь . PLSQL_OPTIMIZE_LEVEL initialization parameter. Для тех, кто в танке проводим аналогию с оптимизатором в С-компиляторе. Про оптимизацию (точнее её отсутствие) в SQL Stored Procedures нам рассказывал в октябре прошлого года Daniel Cruikshank в Rochester-e, MN. Он же сказал, что ХП написанная на языке третьего поколения (C, COBOL, ...) скорее всего будет работать быстрее написанной на SQL PL, так как накакой оптимизации генерированного С кода они в iSeries 5R3 не производят. У меня не было возможности проверить его слова, но он, что называется, величием опыта давит. Если ты ему не веришь - перехвати герерируемый С код и посмотри, что же там на самом деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 18:44 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa ВыбегаллоНет, типа "мы проапгрейдили AIX на QA боксе и теперь я не могу перекомпилировать процедуру и развернуть ее продакшене". Если одна и та же DB2 (одинаковые бинарники) работает там и тут, что за проблема с компилятором? Странно мне такое слышать. Я из под Windows XP вполне могу делать программы для Windows 95. Вы никогда не сталкивались с изменением поведения компиляторов при апгрейде ОС ? Как говорил Остап, " с таким счастьем - и на свободе". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 19:23 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
ggvВыбегалло - ну вы хоть чушь не порите по вопросам, которые не входят в вашу компетенцию. Statis SQL и packages как раз появились в давние времена, когда и речи не могло быть о наличии никакого компилятора на production server, это и было главным условием возникновения этих вещей. Со временем добавились SP. И геммора небыло , правда, поскольку объектный файл не являлся составляющей базы, то использовались другие возможности (ОС) по его backup/restore и переносам. Так пукнуть в лужу.... Гемор заключается в а) необходимости иметь идентичный сервер на идентичной ос для компиляции процедур б) необходимости тянуть с собой все dependancies для скомпилированной процедуры. Вы с этим не согласны, или это для вас не гимор ? Сколько понадобится машин для тестирования миграции на новую версию ОС ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 19:32 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Anton Demidov Victor MetelitsaМожно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет? Про Оракл читаем здесь . PLSQL_OPTIMIZE_LEVEL initialization parameter. Для тех, кто в танке проводим аналогию с оптимизатором в С-компиляторе. Про оптимизацию (точнее её отсутствие) в SQL Stored Procedures нам рассказывал в октябре прошлого года Daniel Cruikshank в Rochester-e, MN. Он же сказал, что ХП написанная на языке третьего поколения (C, COBOL, ...) скорее всего будет работать быстрее написанной на SQL PL, так как накакой оптимизации генерированного С кода они в iSeries 5R3 не производят. У меня не было возможности проверить его слова, но он, что называется, величием опыта давит. Если ты ему не веришь - перехвати герерируемый С код и посмотри, что же там на самом деле. Для меня это просто не имеет значения. Во-первых, неизвестно, будет ли "оптимизированный" код Oracle быстрее "неоптимизированного" кода DB2/400. Во-вторых, для тех исходников систем на Oracle, что я видел, глубоко сомневаюсь, чтобы те "оптимизации" дали прирост хоть на процент. В третьих, у нас нет AS/400, и посмотреть генерируемый на той системе (которая имеет довольно мало общего с DB2 for LUW) нет возможности, не говоря о желании. Кстати, на SQL PL у DB2 for LUW кое-какие оптимизации проводятся, но, честно говоря, я не знаю, стоило ли им утруждаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 21:17 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
pavelvp Victor MetelitsaДля потенциально подозрительных SP и UDF "на C" DB2 имеет ключевое слово FENCED. Огораживаем забором, короче. В случае чего упадёт только один коннект.Во, блин. Думал они вообще в отдельном процессе исполняются... Когда fenced, то да. Процессы называются db2fmp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 21:26 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Yo.!! gardenmanКогда внешняя процедура NOT FENCED, то она исполняется в адресном пространстве сервера и примерно в 2 раза быстрее. NOT FENCED быстрее, но может завалить весь сервер ? а теперь они в бэкапе участвуют или и теперь это отдельно осью нужно бэкапить ? Может завалить, да. Бекапить надо отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 21:28 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Выбегалло Victor Metelitsa ВыбегаллоНет, типа "мы проапгрейдили AIX на QA боксе и теперь я не могу перекомпилировать процедуру и развернуть ее продакшене". Если одна и та же DB2 (одинаковые бинарники) работает там и тут, что за проблема с компилятором? Странно мне такое слышать. Я из под Windows XP вполне могу делать программы для Windows 95. Вы никогда не сталкивались с изменением поведения компиляторов при апгрейде ОС ? Как говорил Остап, " с таким счастьем - и на свободе". И с чистой совестью. Версия компилятора имеет значение, но причём тут собственно ОС (если игнорировать факт, что некоторые ОС поставляются с компиляторами)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 21:32 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Выбегалло Гемор заключается в а) необходимости иметь идентичный сервер на идентичной ос для компиляции процедур б) необходимости тянуть с собой все dependancies для скомпилированной процедуры. Вы с этим не согласны, или это для вас не гимор ? Сколько понадобится машин для тестирования миграции на новую версию ОС ? Да ладно пугать-то. Шла бы речь о каком-то закрученном GUI-приложении, это одно дело, но SP и UDF обычно используют очень ограниченный набор чего-то внешнего. Строковые функции да кое-что из самой DB2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 21:35 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa Anton Demidov Victor MetelitsaМожно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет? Про Оракл читаем здесь . PLSQL_OPTIMIZE_LEVEL initialization parameter. ... Для меня это просто не имеет значения. Ну а зачем тогда спрашивать? Попонтоваться? Пальцы растопырить? Victor MetelitsaВо-первых, неизвестно, будет ли "оптимизированный" код Oracle быстрее "неоптимизированного" кода DB2/400. Во-вторых, для тех исходников систем на Oracle, что я видел, глубоко сомневаюсь, чтобы те "оптимизации" дали прирост хоть на процент. В третьих, у нас нет AS/400, и посмотреть генерируемый на той системе (которая имеет довольно мало общего с DB2 for LUW) нет возможности, не говоря о желании. спорьте о вкусе устриц, что вы никогда в жизни не пробовали. Ни Оракла, ни DB2/400 не видел, а зачем-то споришь. Ещё и генерируемый код перехватить не можешь. Victor MetelitsaКстати, на SQL PL у DB2 for LUW кое-какие оптимизации проводятся, но, честно говоря, я не знаю, стоило ли им утруждаться.Факты, друг мой, факты где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 22:32 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Anton Demidov Victor Metelitsa Anton Demidov Victor MetelitsaМожно подробностей? Что такое "оптимизированный код", почему он в Oracle "оптимизированный", а в DB2/400 нет? Про Оракл читаем здесь . PLSQL_OPTIMIZE_LEVEL initialization parameter. ... Для меня это просто не имеет значения. Ну а зачем тогда спрашивать? Попонтоваться? Пальцы растопырить? Был слабый шанс, что что-то полезное я всё-таки узнаю. Как-никак, с Oracle приходится иметь дело, а всех тонкостей не знаю. Главная причина, почему это оказалось неинтересно, была упомянута в "во-вторых". Я не верю, что тот параметр нам хоть на копейку помог бы, даже будь у нас 10g. Но для чего вы вообще заговорили про AS/400 (она же iSeries)? Какое это могло иметь отношение к обсуждаемой теме (DB2 Express-C против - MS SQL Server 2000 )? Ведь, в отличие от DB2 for LUW, MS SQL, Oracle, Informix, Sybase, Firebird etc эта система, мягко говоря, не для всех. Попонтоваться и растопырить пальцы? Victor MetelitsaВо-первых, неизвестно, будет ли "оптимизированный" код Oracle быстрее "неоптимизированного" кода DB2/400. Во-вторых, для тех исходников систем на Oracle, что я видел, глубоко сомневаюсь, чтобы те "оптимизации" дали прирост хоть на процент. В третьих, у нас нет AS/400, и посмотреть генерируемый на той системе (которая имеет довольно мало общего с DB2 for LUW) нет возможности, не говоря о желании. спорьте о вкусе устриц, что вы никогда в жизни не пробовали. Ни Оракла, ни DB2/400 не видел, а зачем-то споришь. Ещё и генерируемый код перехватить не можешь. Как это я Oracle не видел, когда я администрирую пару систем и прямо только что сообщил, что просматривал исходники на Oracle? Масса кода на PL/SQL. Правда, 8.1.7, но у одной скоро будет переезд на 9ir2? И как я могу перехватить генерируемый AS/400 код, если у нас AS/400 нет? С вами точно всё в порядке? Victor MetelitsaКстати, на SQL PL у DB2 for LUW кое-какие оптимизации проводятся, но, честно говоря, я не знаю, стоило ли им утруждаться.Факты, друг мой, факты где? Какие факты? Что проводятся какие-то оптимизации? Вы действительно хотите получить от меня ссылку на статью на developerworks, или на самом деле вам это неинтересно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2006, 23:00 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Victor MetelitsaБыл слабый шанс, что что-то полезное я всё-таки узнаю. Как-никак, с Oracle приходится иметь дело, а всех тонкостей не знаю. Главная причина, почему это оказалось неинтересно, была упомянута в "во-вторых". Я не верю, что тот параметр нам хоть на копейку помог бы, даже будь у нас 10g. Верить не надо - надо самому проверять и тестировать. И именно на 10g - на девятке его нет. Victor MetelitsaНо для чего вы вообще заговорили про AS/400 (она же iSeries)? Не я первый ушёл от основной темы топика. С другой стороны это то, что есть меня из DB2 (ну ещё DB2 7.1 for z/OS, но похоже, что я её знаю не больше, чем ты Оракл) Victor MetelitsaИ как я могу перехватить генерируемый AS/400 код, если у нас AS/400 нет? Я имел в виду просмотр генерируемого кода на вашей системе. И, в общем говоря, это хорошо, что у вас AS/400 нет - врагу не пожелаешь. Victor MetelitsaКакие факты? Что проводятся какие-то оптимизации? Вы действительно хотите получить от меня ссылку на статью на developerworks, или на самом деле вам это неинтересно? Такие вещи указываются в документации. Я же привёл ссылку по Ораклу. Мне действительно было бы интересно и приятно увидеть, что DB2 for LUW работает в этом месте лучше iSeries. У меня тонны кода на Коболе и у меня, как у заядлого PL/SQL-щика, руки чешутся улучшить его быстродействие (за счёт лучшего использования SQL) и удобство поддержки (меньший объём кода) за счёт SQL PL, но пока ещё он очень "сырой" продукт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2006, 00:50 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
1. Загрузке ЦПУ далеко до 100% => Производительность привязана к IO => Как я понимаю, надо улучшать запросы. А что написано про PLSQL_OPTIMIZE_LEVEL? документация 10gPL/SQL performance is improved across the board. Most improvements are automatic, with no action required from you. Global optimization of PL/SQL code is controlled by the PLSQL_OPTIMIZE_LEVEL initialization parameter. The default optimization level improves performance for a broad range of PL/SQL operations. Most users should never need to change the default optimization level. Performance improvements include better integer performance, reuse of expression values, simplification of branching code, better performance for some library calls, and elimination of unreachable code. Ни на копейку не поверю, что это как-то ускорит запросы. Особенно если люди принципиально отказываются использовать global temporary tables для временных данных и пользуются обычными. 2. DB2 для мэйнфреймов, DB2/400 и DB2 for LUW - это такие разные вещи, что лучше бы IBM их назвала DB2, DB3 и DB4 соответственно. Мы сейчас говорили бы об DB4 Express-C, и DB3 просто не всплыла бы в обсуждении, как и IMS (DB1?) ;-). По моему мнению, Oracle или, скажем, MySQL, в этой теме если и не онтопик, то близко к нему, а вот AS/400 злостный оффтопик. Ведь речь идет о выборе для "обычных" людей, работающих с "обычными" x86-серверами. 3. У меня 8.1 уже нет, только 8.2, и C-код не генерируется. 4. Не могу сказать, что по той ораклиной ссылке много информации. Я считаю, что к статьям, которые писали разработчики, можно относиться как к документации. Но прямо сейчас, к сожалению, "The IBM developerWorks Web site is currently under maintenance.". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 12:42 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0501rielau/index.html Serge Rielau, Senior Software Developer, IBM SQL PL tuning in the PVM Gustavo Arocena, the architect of SQL Procedure, published SQL Procedures Performance: Hints and Tips in 2003. Since then, much has changed. Instead of cross-compiling SQL Procedures to C with embedded SQL, the DB2 V8.2 natively compiles and executes SQL Procedures using its PVM. In the process, some of the hints Arocena describes have found their way into the fledgling PVM optimizer. As you may have seen in the screenshots of the previous examples, some statements have no costs assigned to them. This is not because they are free, but because the statements either get combined with other statements in the PVM optimizer, or because the PVM can execute the SQL natively. In DB2 V8.2 PVM can, among other things, do the following: * Perform most straight variable assignments * Do very basic math, such as loop increments * Combine chains of SET statements into a single VALUES INTO statement * Rewrite CASE and IF THEN ELSE statements with embedded SET statements into CASE expressions * Evaluate basic conditions such as “a<b” * Pre-compute CASE condition and IF THEN ELSE conditions and jump into the right branch right away The purpose of these optimizations is to avoid invocation of the regular SQL runtime interpreter wherever possible to shorten the code path. PVM is still young, but it in general outperforms SQL Procedures compiled prior to V8.2 primarily because of the improvements shown above. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 19:34 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Спасибо Victor, это как раз то, что меня интересовало. Похоже, что IBM движется в том же направлении, что и Оракл в вопросах развития встроенного языка программирования. Это не может не радовать. По поводу оптимизации PLSQL: помимо указанной в приведённом отрывке оптимизации "не-SQL" кода, новый компилятор использует по возможности bulk- операции в SQL. Этому нет аналога в DB2 и DB4 (AS/400 и DB2 zOS). Не знаю насчет DB2 LUW. Вкратце, это возможнось работы с массивами данных в SQL, например экономится время на фетчах для селектов. Можно вставить массив в таблицу ОДНОЙ операцией. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 20:12 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Оригинальная DB2 появилась на мэйнфреймах, а вот что появилось раньше - AS/400 или DB2 на OS/2, я не в курсе (и, честно говоря, заниматься исследованиями не хочется). Когда я получил сидюк от знакомого, в его конторе AS/400 уже стояла, поэтому условно обозначил DB2/400 как DB3 и DB2 Common Server (превратившийся в DB2 for LUW) как DB4 ;-). Что касается bulk operations, то, во-первых, в SQL PL у DB4 ( ;- ) ) нет массивов. Во-вторых, я помню "их" утверждение, что цикл FOR на DB4 оптимизируется целиком, как единое выражение, а не процедурный цикл. В-третьих, здесь я ещё не говорил, но вообще я против хранимых процедур на DB4; считаю, что её SQL достаточно богат, чтобы во многих случаях обходиться вообще без процедурного языка. За 10 лет я написал всего около десятка SP. Теперь возможности SQL ещё усилились, благодаря SELECT FROM UPDATE/INSERT/DELETE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 21:30 |
|
||
|
DB2 Express-C против - MS SQL Server 2000 -???
|
|||
|---|---|---|---|
|
#18+
Про FOR я пока нашёл бумагу здесь: http://www.cs.ubc.ca/local/reading/proceedings/cascon96/pdf/fuh.pdf но я читал про это не здесь, а из какого-то источника типа developerworks, т.е. это должно быть уже реализовано в DB2 for LUW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2006, 23:38 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33593939&tid=1553554]: |
0ms |
get settings: |
4ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 172ms |
| total: | 300ms |

| 0 / 0 |
