我想算不上。 SQL查询返回的记录是动态的(用户输入)
所以我做了以下
select count(*) from (user query);
如何优化?
例如
select count(*) from (select name,unitprice,brand from product);
如果产品表有> 100,000
条记录。
注意:用户查询可以通过创建组,也可以通过创建排序。
答案 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;