SQL查询优化/正确的技术(SQL Server)

时间:2017-12-27 17:55:51

标签: sql sql-server nested-query

我想算不上。 SQL查询返回的记录是动态的(用户输入)

所以我做了以下

select count(*) from (user query);

如何优化?

例如

select count(*) from (select name,unitprice,brand from product);

如果产品表有> 100,000条记录。

  

注意:用户查询可以通过创建组,也可以通过创建排序。

1 个答案:

答案 0 :(得分:1)

我假设您需要运行用户查询,但也希望计算其他内容。 @@ROWCOUNT是实现此目标的内置方式:

SELECT name, unitprice, brand, etc
FROM product
GROUP BY name, unitprice, brand, etc
ORDER BY name, etc;

SELECT @@ROWCOUNT;

根据您要对计数执行的操作,您可能希望将其放在变量中以便稍后引用它,因为@@ROWCOUNT仅适用于上次执行的查询:

DECLARE @ROWCOUNT int;
SELECT yourQuery;
SELECT @ROWCOUNT = @@ROWCOUNT;

SELECT @ROWCOUNT;