Sql server 在视图上使用计数(*)时出现性能问题

Sql server 在视图上使用计数(*)时出现性能问题,sql-server,database,count,sql-server-2016,database-performance,Sql Server,Database,Count,Sql Server 2016,Database Performance,我们有一个SQL视图“xyz”,当执行以下语句时,该视图当前在16秒内生成26000条记录: Select * from xyz ----executes in 16 seconds 但是当添加一个count(*)时,该语句会持续执行4个小时,直到我手动取消查询: Select count(*) from xyz ----executes for 4 hours until cancelled 我在活动监视器中没有看到select count(*)语句的任何阻止程序。不确定为什么count(

我们有一个SQL视图“xyz”,当执行以下语句时,该视图当前在16秒内生成26000条记录:

Select * from xyz ----executes in 16 seconds
但是当添加一个
count(*)
时,该语句会持续执行4个小时,直到我手动取消查询:

Select count(*) from xyz ----executes for 4 hours until cancelled

我在活动监视器中没有看到select count(*)语句的任何阻止程序。不确定为什么
count(*)
会导致性能问题。

需要查看xyz视图后面的查询为每个查询生成执行计划并进行比较。SSMS对执行计划有很好的可视化效果,这个网站非常适合分享它们;