DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Фиксация в цикле

Сталкиваясь с задачей обновления многих строк, большинство программистов пытаются найти некоторый процедурный способ — выполнить это в цикле, фикси­руя каждую из всего этого множества строк. Я слышал два основных аргумента в пользу такого способа. 
Это быстрее и эффективнее — часто фиксировать множество мелких тран­закций, чем обрабатывать и фиксировать одну большую транзакцию. 
Нет достаточного пространства для отката. 

Оба эти заключения ошибочны. Более того, слишком частая фиксация подвер­гает вашу базу данных опасности остаться в “неопределенном” состоянии, если процесс обновления даст сбой на полпути. Это требует сложной логики — напи­сать процесс, который будет гладко перезапускаться в случае сбоя. Намного лучше выполнять фиксацию так часто, как этого требует ваш бизнес-процесс, и соответ­ствующим образом настроить размер сегментов отката. 
Давайте рассмотрим все это более подробно. 
 


Ищете недорогое питание для кошки? Заходите в зоомагазин ЗооФаворит!







jAntivirus