byte916
@byte916

Как остановить долгий SQL-запрос?

Есть БД в которую записываются логи, потребовалось проанализировать логи за промежуток времени.
Для более быстрой и удобной работы решил запросом вида Select...into скопировать записи за нужный промежуток времени в отдельную таблицу.
Запрос этот работал слишком долго, и спустя 9 часов было решено его отменить. Но просто так отменить запрос не выходит - после KILL он висит в статусе Suspended и KILLED/ROLLBACK.
Никакой rollback мне не нужен, нужно просто убить работу этой команды.
Как это сделать?
  • Вопрос задан
  • 10363 просмотра
Решения вопроса 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
не надо ничего делать. И не надо его пробовать перезагрузить. В этот момент база занимается безопасным освобождением ресурсов, откатом транзакций и другой неведомой гадостью. Не так чихнете и привет неконсистентные данные в неизвестной точке + битые таблицы
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
sp_who2 - узнаешь id процесса, 75 например. потом kill 75. Иначе транзакция у тебя будет откатываться до посинения, а именно - ровно столько же времени, сколько был запрос.
И я бы не парился в данном случае за целостность данных вообще никак.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы