SELECT *比SELECT列表更快

时间:2018-05-18 13:59:22

标签: sql database tsql

我对数据库有一个复杂的视图,它通过在其上执行多个连接(左连接和内连接)返回26Ɣ 404行,包括子查询中的一些列。

我尝试过运行两个查询:

1)

SELECT 
* 
FROM dbo.vw_viewname as v

2)

SELECT 
v.column_name 
FROM dbo.vw_viewname as v

第一个查询执行时间: 0:00:40

第二个查询执行时间: 0:02:13

当我从另一个数据库调用此视图时,时间差异甚至更大,从 [0:00:02 VS 0:02:30] 执行连接。 (yupp,2秒vs 2分钟)

任何人都可以解释为什么会这样吗?我真的找不到任何合乎逻辑的理由!

编辑 :包括在SELECT列表中,子查询生成的视图列将执行时间恢复正常(2秒)。

0 个答案:

没有答案