我有一个表,其中包含IDENTITY列和GetDate()设置的DateTime列,如下所示:
CREATE TABLE [MyTable](
[Id] [int] IDENTITY(1,1) ,
[InsertTime] [datetime] DEFAULT (getdate()),
[OtherValues] [int]
)
Run Code Online (Sandbox Code Playgroud)
所有INSERT都使用IDENTITY和DateTime列的默认值执行,如下所示:
INSERT INTO [MyTable] ([OtherValues]) VALUES (1)
Run Code Online (Sandbox Code Playgroud)
始终作为任何显式交易之外的独立报表.
我希望Id会严格增加,而InsertTime也会增加但不严格.但是在负载很重的情况下,我们会看到以下几个实例:
| Id | InsertTime |
|------|-------------------------|
| 3740 | 2015-03-05 10:07:25.560 |
| 3741 | 2015-03-05 10:07:25.557 |
| 3742 | 2015-03-05 10:07:25.577 |
Run Code Online (Sandbox Code Playgroud)
我们在InsertTime中略有下降.
有谁知道这是怎么发生的,行的"正确"顺序是什么?