插入:一种语法是更优化还是偏好?

the*_*heo 1 sql optimization performance insert

SQL Server(2005/2008)

以下每个陈述都有相同的结果.有谁知道一个人胜过另一个吗?

insert into SOMETABLE 
  values ('FieldOneValue','FieldTwoValue',3,4.55,'10/10/2008 16:42:00.000')

insert into SOMETABLE 
  select 'FieldOneValue','FieldTwoValue',3,4.55,'10/10/2008 16:42:00.000'

insert into SOMETALBE
  Select
    Field1 = 'FieldOneValue',
    Field2 = 'FieldTwoValue',
    Field3 = 3,
    Field4 = 4.55,
    Field5 = '10/10/2008 16:42:00.000'
Run Code Online (Sandbox Code Playgroud)

当然假设数据类型恰当地匹配表...

Dar*_*opp 8

我认为,基于这个问题,你就到了过早优化的程度.如果您只是插入1条记录并让Sql Server团队使其性能最佳,我会坚持使用标准的insert()值().


Pit*_*DBA 7

我刚试过这个.

两套硬件上有500万次迭代,一套是16GB RAM的服务器,另一套是1GB的笔记本.

结果:它们看起来是一样的.

这些查询计划是相同的,性能差异在统计上是无关紧要的.