我一直在读一些devs/dbas建议在所有数据库调用中使用事务,甚至是只读调用.虽然我理解在事务中插入/更新在事务中读取的好处是什么?
因此,您可以获得数据库的一致视图.想象一下,你有两个相互链接的表,但出于某种原因,你在pseuodocode中选择了2个:
myRows = query(SELECT * FROM A) moreRows = query(SELECT * FROM B WHERE a_id IN myRows[id])
如果在两个查询之间有人更改B以删除某些行,那么您将遇到问题.