我已经禁用了使用SET NOCOUNT ON的行数统计,但是看起来sqlserver仍然在计算行数。
USE Northwind
SET NOCOUNT ON;
SELECT * FROM Products p
SELECT @@ROWCOUNT AS 'RowCount';
查询返回77行计数,为什么?
我正在阅读格兰特·弗里奇( Grant Fritchey )的“剖析Server执行计划”,这对我理解为什么某些查询速度慢有很大帮助。
然而,我对这种情况感到困惑,因为简单的重写执行起来要快得多。
这是我的第一次尝试,需要21秒。它使用一个派生表:
-- 21 secs
SELECT *
FROM Table1 AS o JOIN(
SELECT col1
FROM Table1
GROUP BY col1
HAVING COUNT( * ) > 1
) AS i ON ON i.col1= o.col1
我的第二次尝试要快3倍,只需将
在我的模块中,将有一个链接,显示每个用户的计数重复数据。
下面是我的查询,用于计算每个用户的重复项。
if ($_POST['submit']){
$query=$db_operation->query("SELECT `lname`,`fname`,`mname`,`bday`,`gender`, COUNT(*) c FROM `user` WHERE `status` = 'ACTIVE' GROUP BY `lname`,`fname`,`mname`,`bday` HAVING c > 1 LIMIT 10"); }
下面是