Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
а я бы отправил человека на курсы DB2, и очень хорошо бы другого на что-нибудь по проектированию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 11:04 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за рекомендации по структуре таблицы. Конечно базы не идеальные. Но несколько вопросов. 1) в таблице есть первичный ключ CONSTRAINT KEY_RAZ PRIMARY KEY ( P1 ) , наверно он используется при выполнении триггера. Вы пишете, что надо создать индекс. 2) на поле CODE_USR на которое также повешан foreign key А что, должен быть обязательно еще и индекс на это поле? 3) Да, Вы правы, в таблице есть поля, которые мы просто завели для дальнейшего использования при необходимости. Используются только PL01-PL03 CHARACTER (50) - для хранения ФИО. Действительно , надо было сделать как VARCHAR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 14:25 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Чтобы проверить используется или нет индекс - нужно посмотреть на план запроса. Это можно сделать через Command Center. И, кроме того, чтобы нормально виделся индекс - нужно собрать по таблице и индексам статистику. см. RUNSTATS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2006, 14:35 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
По поводу курсов - хорошее предложение, но послать некого. Ну нет у нас админов на DB2!... к сожалению :( Поэтому будем благодарны за любые конструктивные советы специалистам имеющим опыт настройки DB2 Решили упростить ситуацию. Попробовали след.образом. 1. Заново установили Db2 со всеми значениями по умолчанию (соответственно таблицы, индесы в одном TS, размеры страниц, буф.пулов и т.д.все взято как предлагает Db2) 2. Создана обычная таблица CREATE TABLE DB2ADMIN.DBTEST ( P1 INTEGER NOT NULL , P2 INTEGER , P3 INTEGER , P4 CHARACTER (10) , P5 CHARACTER (10) , P6 CHARACTER (240) , P7 DATE , P8 CHARACTER (10) , P9 CHARACTER (10) , P10 DOUBLE ) ; ALTER TABLE DB2ADMIN.DBTEST ADD CONSTRAINT KEY_TESTDB PRIMARY KEY ( P1) ; CREATE TRIGGER DB2ADMIN.P1 NO CASCADE BEFORE INSERT ON DB2ADMIN.DBTEST REFERENCING NEW AS new FOR EACH ROW MODE DB2SQL SET NEW.P1 = coalesce((select MAX(DB2ADMIN.DBTEST.P1)from DB2ADMIN.DBTEST ),0) +1 Далее, опытным путем установлено, что время: вставки одной записи при пустой таблице: 0.003 сек. вставки одной записи при 15000 записей: 0.04 сек. вставки одной записи при 100000 записей (с триггером): 0.108739 сек. вставки одной записи при 100000 записей (без триггера): 0.030475 сек. (т.е. про триггер Вы были правы, но он в том или ином виде все равно нужен для обеспечения уникальности p1. Все выполняется одним пользователем) Главный вопрос! Можно ли надеяться, что путем настройки(перенастройки или других мероприятий) конфигурации DB2 реально добиться повышения производительности на операциях вставки в 10-100 раз? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 11:05 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Ответ: нет Ваш триггер будет тормозить ВСЕГДА. И чем дальше, тем больше. И, более того, это не зависит от того, какая это база данных MSSQL или DB2 или ORACLE. У вас проблема в проектировании. Вы посмотрели на план запроса? Вы собрали статистику как вам сказали? (наверное не в курсе что план запроса генерируется исходя из статистики? и наверное не знаете как это делать?) Если ничего менять не хотите, то по крайней мере создайте дополнительный индекс в обратном направлении: CREATE UNIQUE INDEX TTTT ON DB2ADMIN.DBTEST (P1 DESC) и запустите RUNSTATS: RUNSTATS ON TABLE DB2ADMIN.DBTEST FOR INDEXES ALL На вашем месте я бы делал так (вообще без триггеров): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. По-моему тут было написано достаточно чтобы сделать все правильно. Поэтому - закончим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 11:54 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Guest02 Главный вопрос! Можно ли надеяться, что путем настройки(перенастройки или других мероприятий) конфигурации DB2 реально добиться повышения производительности на операциях вставки в 10-100 раз? В специфических случаях. Если вы на RAID'е (особенно 5, 6, 10), например, удачные/неудачные настройки могут стоить очень дорого на одной и той же базе. Задача заключается в том, чтобы заставить винчестеры массива работать одновременно, а не по очереди. Распределение данных по дискам и где лежит журнал транзакций, тоже имеет значение. Разницу между SMS и DMS не проверял (для данных пользуюсь только DMS, хотя для системы SMS), но, наверное, должна быть. "все взято как предлагает Db2" - но ведь табличные пространства в том wizard'е по умолчанию получаются SMS, хотя можно и DMS настроить. Потом, после создания базы, из CC можно позвать Configuration Adviser, который предложит вам другой размер буферного пула и многих других параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 12:36 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
gardenman Если ничего менять не хотите, то по крайней мере создайте дополнительный индекс в обратном направлении: CREATE UNIQUE INDEX TTTT ON DB2ADMIN.DBTEST (P1 DESC) или дропнуть primary key, затем CREATE UNIQUE INDEX ... ALLOW REVERSE SCANS и вновь добавить primary key (будет использован существующий индекс). Но это так, к слову. Конечно, надо выкинуть тот триггер и использовать sequence. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 12:42 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Victor Metelitsa[quot gardenman] или дропнуть primary key, затем CREATE UNIQUE INDEX ... ALLOW REVERSE SCANS и вновь добавить primary key (будет использован существующий индекс). Хм... не знал что так можно, спасибо!)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2006, 13:32 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
попробовали убрать триггер и по вашей рекомендации вместо него использовали sequence. Insert на данной таблице стал срабатывать быстрее в 30 раз. Спасибо большое. Тему прошу не закрывать. Все Ваши рекомендации будут проработаны. Результаты исследований выложим сюда м.б. кому то будет интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 15:15 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
это - не повышение производительности. Это - устранение элементарных общеизвестных грабель. Это - следствие лени читать доки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2006, 15:55 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
Значит мы не входим в число людей которые владеют общеизвестными истинами. Поэтому и пришли сюда. С удовольствием почитаем документацию в которой написано о предпочтении sequence по отношению ... если поделитесь (можно на aam63@mail.ru) У нас есть базовый курс по DB2 (перевод правда не идеальный но общий смысл понять можно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 09:33 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
поиском по форуму можно нарыть множество ссылок. На полезные ресурсы. И подписаться на db2magazine. В РФ доставляют бесплатно. Но на аглицком. В нем было много замечательных статей. По типу - откуда есть пошли package. Там же и про sequence было У меня сколько-то номеров есть в архиве, могу дать почитать, кто вблизи столицы. А на db2magazine.com поиск тоже был. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 09:49 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
кстати, в последнем db2magazine есть статья "Manage, don't tune" Некоторые интересные вопросы управления производительностью приложений рассматриваются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2006, 11:27 |
|
||
|
Повышение производительности сервера
|
|||
|---|---|---|---|
|
#18+
На сайте db2magazine набрал поиск "Manage, don't tune" - вывалилось 326 документов. Если не составит труда, можно ссылку? Или где на сайте искать более конкретно? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2006, 12:53 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=33534386&tid=1605520]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 384ms |

| 0 / 0 |
