使用Firebird只读事务的优势是什么?我已经使用Firebird数据库超过七年了,但从未使用过这个选项。我只是好奇这个功能的典型应用场景是什么?我正在使用Firebird 2.5.x,如果您对Firebird 3.x(或更新版本)有有用的见解,欢迎您的评论。
Firebird 中的只读事务使用预提交事务(虽然仍需要用 COMMIT 结束)。它不能更改数据库(除了全局临时表,这些表是
on commit delete rows
),也不能锁定行或表。它确实提供了事务配置的可见性保证。
使用只读事务的好处是它保证该事务不会阻塞其他事务。但是,由于 Firebird 中大多数读操作不会阻止其他事务,因此该好处并不太大。
此外,您可以使用只读事务来验证事务是否直接或间接修改了数据库。