SELECT *
FROM (SELECT [coit_id] AS commodity
,[sist_id]
,[cost_modified_date]
,[cost_timestamp]
FROM [Cargo_Ver_3_0_33].[dbo].[Commodity_State])
WHERE
commodity > 15
SQL在检查条件时是否首先读取所有记录?
答案 0 :(得分:0)
这里不需要进行子查询,但成本会更高。以下查询将提供相同的结果。在上面的示例中,SQL引擎将首先构建子选择列表,然后执行外部查询,但是您没有完成任何需要子查询的唯一列表。
SELECT
[coit_id] AS commodity,
[sist_id],
[cost_modified_date],
[cost_timestamp],
FROM [Cargo_Ver_3_0_33].[dbo].[Commodity_State] WHERE commodity > 15;
答案 1 :(得分:0)
有一篇非常好的文章关于" How SQL Server executes a query"。
您可以先阅读并查看Data caches
然后Query Execution
来执行某些搜索和其他操作的电话。