INSERT语句中的默认值V / s传递值

时间:2014-10-13 07:10:20

标签: sql sql-server sql-server-2012

我正在使用MSSQL SERVER。我问的问题可能很愚蠢,但我想要一些有效的答案。所以这是我的问题:

我有一些包含一些列的表。我在0 (for INT column)GETDATE() (for DATE column)这样的专栏中采用了默认设置。现在,我的一位同事表示,将Getdate()作为默认值会增加开销,因此最好通过INSERT语句传递datetime。这是真的吗?

不适用于0或1(对于INT列)? 它是如何产生开销的?

1 个答案:

答案 0 :(得分:1)

int default 0或1是类似硬编码的值。

但是,getdate()就像知道SQL Server的计算机服务器上的日期一样。

所以,当insert语句时,带有默认getdate()的列将在运行命令insert之前在服务器计算机之前查找该值。