|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
Сервер - Adaptive Server Enterprise/12.5.4/EBF 15400 ESD#7.1/P/Sun_svr4/OS 5.8/ase1254/2097/64-bit/FBO/Thu Jan 17 07:42:59 2008 Есть курсор, на каждом fetch выбираются данные и происходит их анализ. Для каждой строки выбранных данных идут update, insert, delete по таблицам, которые никак не связаны с таблицей, по которой "бегает" курсор. В отладчике всё работает отлично, но когда запускаю процедуру как "exec spSelSub", то всё моментально зависает, память выжирается со зверской силой. Пробовал каждый цикл курсора в отдельной транзакции пускать, пробовал каждый update, insert, delete в отдельной транзакции пускать - никакой разницы. ((( Ну хоть примерно, что за беда тут? Ведь в отладчике всё пашет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 18:29 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
Mairos, Что значит зависает? sp_lock что говорит? Что значит выжирает память? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2011, 19:51 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
Вот что sp_lock говорит.. 0 20 40 Sh_intent 1780835767 0 0 ds_db66_3 Cursor Id 1310721 0 20 40 Sh_page 1780835767 1531761 0 ds_db66_3 Cursor Id 1310721 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2011, 09:54 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
.. а теперь на том же наборе данных - fid spid loid locktype table_id page row dbname class 0 167 334 Sh_intent 1666101945 0 0 ds_db66_3 Non Cursor Lock 0 167 334 Sh_intent 1780835767 0 0 ds_db66_3 Cursor Id 10944513 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2011, 10:21 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
Mairos, Так с чего вы взяли что дэдлок происходит? Включите параметр print deadlock information. Потом в errorlog-е посмотрите из-за чего дедлок происходит или выложите эту информацию сюда. Также проверьте триггеры которые есть на таблицах в в которые вы делаете update, insert, delete. Ну и исходники процедуры и таблиц не мешало бы показать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2011, 10:55 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
Mairos, Это все что выводит sp_lock? Я так и не понял что значит "всё моментально зависает". Время выполнения процедуры слишком большое? Вы дожидались конца ее выполнения? Ну и самое интересное, при чем тут дедлоки то? Почему Вы решили что они возникают? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2011, 15:29 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
cherrex_Den, SQLMantis - с дэдлоками я и впрямь погорячился. Нет их, вы правы. Но память на клиентской машине просто съедается. Для запуска скрипта используется AQUA DATA STUDIO 9. На каждую строку курсора приходится куча DML операций. И достаточно быстро виснет не только аква, но и машина вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2011, 10:04 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
офигеть, вот это постановка проблемы. В результате память течет на клиенте. Ну не используйте AQUA STUDIO, попробуйте свой скрипт запустить из isql ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2011, 10:16 |
|
Снова дэдлоки??
|
|||
---|---|---|---|
#18+
Всё верно. Воспользовался DBArtisan - всё выполнилось быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2011, 16:28 |
|
|
start [/forum/search_topic.php?author=deceiver&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 218ms |
total: | 354ms |
0 / 0 |