2013-10-15 3 views
0

Я использую Entity Framework и Sql Server 2012. Мне нужно удалить в одном Transaction раз личных данных: 200 GB. Я удаляю данные прямо сейчас, это очень быстро!
Имеет ли Transactionscope влияние на производительность?

Проблема, если процесс удаления не удался, база данных будет устранена, поэтому я думаю использовать Transactionscope. Когда процесс завершится неудачно, я буду Rollback базы данных.

Transactionscope подходит для обработки большого количества данных, или мы должны сделать некоторые соображения относительно производительности. У кого-нибудь есть некоторые контрольные данные или опыт с этой проблемой?

Любая помощь будет принята с благодарностью

+0

У нас нет базы данных размером 200 ГБ, у нас нет вашей схемы, мы не знаем, что удалить, мы не владеем вашим оборудованием. ** Вы ** сравниваете это. Да, есть накладные расходы на транзакции, независимо от того, насколько это доступно в вашем случае, полностью зависит от вашего дела. – CodeCaster

+1

Немного света на ваш вопрос [здесь] (http://stackoverflow.com/questions/1155941/transactionscope-has-it-gotten-better), но, как говорит @CodeCaster, вы несете ответственность за его тестирование – Steve

+0

@ CodeCaster благодарит за комментарии. Вы говорили о накладных расходах? есть какая-нибудь полезная ссылка или общая информация о Transcationscope и pefromance? Я просто нахожу какую-то информацию в msdn social, но не заслуживаю внимания. Я сделаю оценку своей благодарностью! –

ответ

1

Как они сказали в комментариях она имеет некоторое влияние, но это тривиально, если вы декомпилировать класс TransactionScope и посмотрите на код, вы увидите, что это там происходит!

Это действительно зависит от настроек/схемы базы данных; вы можете оптимизировать свою базу данных, чтобы получить наилучшие результаты. Этот подход использовался в течение многих лет, и я долгое время использовал его, и у меня нет проблем с ним.

Смежные вопросы