SQL Server中的字符串连接性能

时间:2017-05-31 09:41:15

标签: sql-server concatenation string-concatenation

我有一个针对SQL Server 2016运行的查询。 查询非常复杂,因为它使用内部和左侧连接来连接多个表(几乎30个表)。结果集只包含4行。

我有这些情况:

  1. 在选择列表中,我只选择"简单列",没有功能且没有连接:执行时间约为3/4秒
  2. 在选择列表中,我仅在一个字段(varchar字段)上使用字符串连接,其中包含空字符串(SELECT A.field + '', ....)。执行时间显着增加;在某些情况下,根据字段我连接空字符串,它到达11秒。
  3. 在一个特定的表中,如果我连接两个字段,执行时间仍然是3/4秒,如果我用空字符串连接这两个字段中的一个,则执行时间会增加到11秒。
  4. 我很惊讶,我无法理解为什么连接操作如此昂贵! 我尝试使用CONCAT函数,但没有任何变化。

    PS:我每次执行查询时都清除缓存,因此执行时间不受缓存策略的影响。

0 个答案:

没有答案