|
|
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, All Наблюдается следующая проблема: для 30-40 тыс. записей выполняется определенная SP, вызывающая вложенные SP. Для первых 5-10 тыс. записей выполнение главной SP занимает менее секунды на запись. В дальнейшем время выполнения процедуры увеличивается до 5 с для одной записи. Объем необходимых операций, выполняемых для любой из записей, примерно одинаков. Чувствуется захламливание или переполнение чего-то чем-то. Подскажите, пожалуйста, в каком направлении работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 15:56 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
Проверь наличие подходящих для работы индексов Также очень помогает профайлер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 16:13 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
cg_romaПодскажите, пожалуйста, в каком направлении работать. Предлагаю начать работать с указания названия СУБД и ее версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 16:14 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
На индексы обращал внимание. Для любой отдельно взятой записи процедура отрабатывает за приемлемое время. Задержка появляется именно после обработки нескольких тысяч записей. Профайлером БД гонял. Наверное недостаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 16:36 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
ASA 8.0.3.5002 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 16:41 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
Похожее я наблюдал при заливке данных (большого кол-ва) в новую базу. Те же симптомы: начинает заливать за здравие, кончает за упокой. Тогда мне помогли COMMIT'ы между заливкой таблиц. А здесь даже не знаю чем помочь. У тебя видимо тоже много insert'ов идет в процессе ее работы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:33 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
Да. На каждую запись вставляется 1-2 новых ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2005, 18:49 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
Как я уже говорил, я не понял, в чем дело, но получилось победить. Для начала, может быть попробовать через каждую 1000 записей делать COMMIT? Так, для теста. Хотя, потом откатить тяжеловато будет А у тебя данные в глобальные таблицы вставляются, или во временные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 00:12 |
|
||
|
Уменьшение скорости выполнения stored procedure для массива из 30000 записей
|
|||
|---|---|---|---|
|
#18+
Массовая вставка, обновление данных в одной транзакции. (это касается не только Sybase). Пока log транзакции умещается в памяти - операция идет быстро. А потом начинается swap loga на диск. Наличие индексов тоже тормозит особенно при вставке. Т.к. вставляемые записи могут приводить к нарушению балансировки бинарного дерева индексов. Иногда лучше грохнуть индекс и создать его заново после вставки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 06:24 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32868267&tid=2013963]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 163ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...