0

У меня есть фундаментальный вопрос, но вы не можете найти точную информацию в Интернете.Чем больше транзакций в базе данных влияет на другую базу данных?

Я открыл транзакцию DB (SQL Server) и сделал несколько вложений, обновлений, удаления и т. Д .; весь процесс занимает около 5 часов (из-за объема данных, предположим, что это действительно).

Все перечисленное происходит в рамках транзакции. Будет ли эта более длинная транзакция совершать вызовы в другую БД на том же сервере, ожидая ИЛИ нарушать их? Я понимаю, что это повлияет только на вызовы, сделанные в соответствующие БД и НЕ другие базы данных в одном экземпляре.

PS: Сделка начинается с C# стороны (т.е. using TransactionScope)

+1

Если вы выполняете тяжелые операции в течение 5 часов, это, безусловно, повлияет на все ресурсы, которые совместно используются базами данных, такими как CPU, память и, возможно, диск в зависимости от вашей установки. Кроме того, журнал транзакций может расти в огромном объеме. –

+1

Однажды я попытался вставить 600+ миллионов строк в одну транзакцию, и из-за этого использование Ram, загрузка процессора пошла очень высоко, и он даже сбросил свободное место на диске с 200 ГБ до нескольких МБ, а затем он не дал «нет» пробел, оставшийся для выделения "сообщения через несколько часов. Из-за этой транзакции запросы на другой БД, которые обычно занимали несколько секунд; заняло очень много времени. Поэтому, я думаю, я могу с уверенностью сказать, что если ваша транзакция достаточно велика, это повлияет на вызовы других БД, а также в том же экземпляре. –

+0

Спасибо JamesZ, AbhayChauhan за ваши материалы. – CodeMad

ответ

0

первого на все ... 5 часов с активной транзакцией слишком много времени ... вы можете проверить, если его что вы Возможный сделать больше сделок с меньшей обработкой времени ... вы можете повлиять на производительность других БД, поскольку находятся на одном сервере, и вы делаете им запросы ... помните, что в более старых версиях MSSQL потребление ОЗУ является проблемой, и эта оперативная память не выпускается автоматически. Если этот процесс сделан на языке программирования, вы можете это сделать .. в другом случае вы можете планировать работу, чтобы сделать некоторые вещи периодическими, а не только один раз и 5 часов ...

Надеюсь, это решит ваши сомнения!

+0

Спасибо за ваши данные; Я понимаю, что 5 часов слишком длинны. Но я пытаюсь помочь системе, которая уже разработана. Выйти из txn и использовать изоляцию моментальных снимков возможно, хотя система настолько развита и предлагая изменения в это время, возможно, не очень хорошая идея (если вообще невозможно запустить более длинные txns, тогда мы можем отказаться от этого подхода и идти с чем-то другим). Кроме того, разделение их на многие меньшие txns не является вариантом, потому что мы хотели бы отменить весь txn в случае какой-либо ошибки. PS: Txn сделан из C# (не инициирован с SQL Server) – CodeMad