Sim*_*mon 5 sql sql-server transactions isolation-level
我是一个sql初学者,我需要有关事务隔离级别的帮助.我需要知道哪种隔离级别最适合以下情况以及原因:
数据库中有3个表:
现在让我们考虑以下事务:将一个新芯片插入动物中.更新数据库的人必须改变两件事:
第二个事务是控制器事务,它检查ANIMALS中的实体数是否等于具有INSERTED_BY属性不等于NULL的CHIPS的数量.下图显示了一种情况:

谁能告诉我哪种四肢隔离级别最好?为什么?我被困在这里..任何帮助将不胜感激.
您的情况很简单,因为其中一个事务是纯读取事务。查看快照隔离。在隔离级别下运行读取器SNAPSHOT将为其提供整个数据库的时间点一致视图。不会获取或等待任何锁。
这意味着在 t2 时,C2 将看不到插入内容。
这非常容易实现,并且可以彻底解决问题。
如果没有 SNAPSHOT隔离,你就需要SERIALIZABLE隔离,并且会陷入很多僵局。现在您需要研究锁定提示。更复杂,没有必要。