Вопрос по transactions, database – Как принять решение об использовании транзакций базы данных
Как вы, ребята, решили, что вы должны обернуть SQL в транзакции?
Пожалуйста, пролите немного света на это.
Ура !!
В любое время, когда вы хотите заблокировать базу данных и, возможно, вывести из строя производственное приложение, в любое время, когда вы хотите засорять ваше приложение скрытыми кошмарами масштабируемости, продолжайте создавать транзакцию. Сделайте это большим, медленным и поместите петлю внутрь.
Серьезно, ни один из приведенных выше ответов не признает компромисс и потенциальные проблемы, которые возникают при интенсивном использовании транзакций. Будьте осторожны и учитывайте риск / вознаграждение каждый раз.
Ebay не использует их вообще. Я уверен, что есть много других.
http://www.infoq.com/interviews/dan-pritchett-ebay-architecture
Транзакция должна использоваться, когда вам нужно полностью обработать набор изменений, чтобы считать операцию завершенной и действительной. Другими словами, если только часть выполняется успешно, приведет ли это к тому, что в вашей базе данных будут храниться неполные или недействительные данные?
Например, если у вас есть вставка, за которой следует обновление, что произойдет, если вставка прошла успешно, а обновление не удалось? Если это приведет к неполным данным (в данном случае к потерянной записи), вам нужно обернуть два оператора в транзакции, чтобы они завершились как & quot; set & quot ;.
Всякий раз, когда любая операция подпадает под ACID (Atomicity,Consistency,Isolation,Durability) критерии вы должны использовать транзакции
Прочитай этостатья