Jef*_*ver 12
当您需要完全处理一组更改以考虑操作完成且有效时,应使用事务.换句话说,如果只有一部分成功执行,那么是否会导致数据库中存储不完整或无效的数据?
例如,如果您有一个插入后跟一个更新,如果插入成功并且更新失败会发生什么?如果这会导致数据不完整(在本例中为孤立记录),则应将两个语句包装在事务中以使它们作为"集合"完成.
每当您想要锁定数据库并可能使生产应用程序崩溃时,每当您想让应用程序充满隐藏的可扩展性噩梦时,请继续创建事务。让它变大,变慢,并在里面放一个循环。
说实话,上述答案都没有承认大量使用交易带来的权衡和潜在问题。要小心,每次都要考虑风险/回报。
eBay 根本不使用它们。我确信还有很多其他人。
http://www.infoq.com/interviews/dan-pritchett-ebay-architecture
| 归档时间: |
|
| 查看次数: |
5580 次 |
| 最近记录: |