
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.09.2002, 12:10:01
|
|||
|---|---|---|---|
|
|||
Как остановить transaction rollback ? |
|||
|
#18+
Добрый день уважаемые специалисты! У меня следующая проблема: долгое время выполнялся INSERT (из двух таблиц) в пустую таблицу ~ 6000000 записей. Спустя 75 часов решил остановить этот процесс, воспользовался KILL. Теперь идет обратный процесс "transaction rollback in progress" и мне сервер предлагает подождать 15000 секунд. Собственно вопрос: можно ли как-нибудь принудительно остановить откат транзакций? Можно ли установить COMMIT TRANSACTION после вставки каждой записи? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2002, 12:23:49
|
|||
|---|---|---|---|
Как остановить transaction rollback ? |
|||
|
#18+
Транзакция по своей сути атомарна - т.е. либо все 6000000 записей добавляются, либо ни одна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.09.2002, 12:54:54
|
|||
|---|---|---|---|
Как остановить transaction rollback ? |
|||
|
#18+
Если инсерт выполняется одним оператором нельзя. Нужно разбить инсерт на несколько операторов, ограниченных параметром TOP и запускать их в цикле с проверкрй по NOT EXISTS в результирующей таблице. Что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1820324]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 344ms |

| 0 / 0 |
