在没有RDB $ DB_KEY或密钥的情况下在Firebird中标识记录的方法

时间:2019-07-18 19:56:36

标签: firebird

是否可以在不使用 RDB $ DB_KEY 或表键的情况下识别任何表中的任何记录?

不幸的是,只能为当前事务保证 RDB $ DB_KEY ,并且可能与当前事务有所不同,并且如果表中没有另一个键,则无法唯一地标识记录。完全相同。

1 个答案:

答案 0 :(得分:0)

除了RDB$DB_KEY,主键或唯一键之外,没有其他任何东西可以唯一地标识行。

使用DPB属性RDB$DB_KEY可以将isc_dpb_dbkey_scope的生存期延长到连接的生存期。但是,使用它是一个坏主意:它将在连接的整个生命周期内启动内部事务,这将防止垃圾回收旧行版本。这会严重影响应用程序的性能。