在Firebird 2.0中,在SELECT命令上使用显式事务比使用隐式命令执行命令要快吗?
答案 0 :(得分:3)
所有SQL命令(SELECT,INSERT,UPDATE等)只能在某些事务中执行。您无法在事先启动事务的情况下运行命令。
答案 1 :(得分:2)
显式和隐式事务是您用于访问数据库的组件集的一个功能,而不是Firebird本身的功能。如前所述,Firebird 始终执行事务中的所有操作。这对你有几个影响:
答案 2 :(得分:1)
Firebird无法在没有事务的情况下执行SQL命令。
PS:如果提交事务而不是回滚事务,则会获得最佳性能结果。即使你只调用了SELECT而没有改变任何内容。
答案 3 :(得分:1)
对于SELECT,最好使用只读事务
PS:还有其他类型的交易,但这两个是本主题的重要内容。
答案 4 :(得分:0)
通常,事务会增加一些开销。但是,如果在连接到Firebird时没有启动某些默认事务,则应该小心。
答案 5 :(得分:0)
根据我的经验,隐式事务往往默认为自动提交保留,因此它们应该更慢。您始终可以更改默认行为。
但是我建议使用显式事务,因为如果它阻止了太多的事务,提交保留可能会让你更加悲伤。如果确实如此,那么当Firebird遍历所有保持/阻止的事务以确定数据的正确值时,对Firebird的访问可能会显着减慢。
以下是对它的一些讨论
http://forums.devshed.com/firebird-sql-development-61/difference-active-transaction-863103.html