小编Jam*_*art的帖子

TSQL 为什么 Top 使用变量更快?

大家早,

我一直在研究一些中等复杂的 sql,以从第三方产品数据库“获取”一些数据,并将其显示在我们自己的内部应用程序中。

我添加了一个选择以从子查询中的表中获取顶部记录(如果这是有道理的)

查询用了将近 3 分钟才返回一个包含 100 条记录的最终结果集

SELECT TOP 1 ...
Run Code Online (Sandbox Code Playgroud)

我在网上查看了我试图实现的改进,有人建议我更改我的选择以使用变量,如下所示

DECLARE @topCount INT
SET @topCount = 1

SELECT TOP (@topCount) ...
Run Code Online (Sandbox Code Playgroud)

这将相同的查询从 3 分钟缩短到 1 秒,这太棒了!

但谁能解释为什么会这样。

sql-server t-sql

11
推荐指数
1
解决办法
2227
查看次数

标签 统计

sql-server ×1

t-sql ×1