Запрос на обновление SQL не завершен - PullRequest
0 голосов
/ 04 января 2012

Я сделал SQL-запрос для обновления регистров таблицы.В таблице около 15 миллионов регистров.Оператор обновления выглядит так:

UPDATE temp_conafe
  set apoyo = trim(apoyo)
  where cve_status like '%APOYO%';

Я постоянно проверяю поле v $ Transactions.used_ured , чтобы увидеть, будет ли запрос продвигаться вперед или назад, но когда число записей достигнет большегочем 15 миллионов, запрос начинает откатываться назад.

  • Как получить успешное завершение обновления?

Я не администратор баз данных, просто программист, но яне могу продолжать развиваться, пока эта штука не обновит мои регистры.

1 Ответ

2 голосов
/ 04 января 2012

Похоже, ваша транзакция слишком большая.Попробуйте добавить еще один ограничивающий пункт в где.Если у вас есть поле Id, вы можете добавить что-то вроде этого:

where cve_status like '%APOYO%' 
AND id > 1 AND id < 100000

Вам нужно запустить его несколько раз, чтобы соответственно изменить диапазон.Если это не вариант, вы должны поговорить с вашим администратором базы данных и попросить его предоставить вам больше ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...