我正在处理一个场景,在不同的并发执行进程中,在同一个表上进行了两次插入。表结构相当简单。
有一个带有DEFAULT的IDENTITY ID列和UpdateDateTime列 CURRENT_TIMESTAMP的约束。
正常的期望是具有更高ID的记录将具有相同或更晚的时间戳。在一种情况下,我们会看到记录在该记录之前具有更高的ID值,但UpdateDateTime为2分钟。
我认为必须发生的事情是,一条记录检索到 CURRENT_TIMESTAMP 但保留了几分钟(由于阻塞),直到它最终执行此插入。但是,我的理解是DEFAULT值是在插入时而不是之前记录的。我是在正确的轨道上吗?执行期间在什么时候检索到DEFAULT值?