2

我正在寻找一个简单的查询来说明数据库性能

我们创建了一个工具来找出客户端网络/服务器/软件的性能,从而为我们创建一个基线,让我们说他们的服务器或客户端确实性能不足,或者我们的软件在某些情况下性能不佳。

我们为什么这样做呢?

在我们的一位客户中,我们的软件运行非常缓慢,他们指责我们。在搜索可能的软件缺陷后,我们发现问题实际上是他们的网络速度,它非常慢。(网络流量通过 100 英里外的 VPN 路由)

我需要什么

我正在寻找一个“简单”查询来为 Microsoft sql server 数据库设置基线性能。

最好是一个查询,它会说明数据库是真的慢/快还是工作正常。

我创建了一个简单的查询:

select top 50000 * from BigTable 
where YEAR(startdate) = 2011 or YEAR(startdate) = 2010 
order by table.startdate desc

这里的 BigTable 实际上是我们的软件会大量查询以进行一些复杂的更新计算的东西。

调用此查询(100 次)并从客户端对其进行计时,可以让我们对服务器性能有一个不错的猜测。但我宁愿使用一些复杂的连接来执行一个更面向计算的查询,这些连接实际上说明了服务器性能,而不是简单的选择。

4

1 回答 1

6

我可以建议使用相同的查询,但在查询之前设置以下内容。

Set Statistics IO ON    
go
Set Statistics Profile ON
go
Set Statistics Time ON
go

您还可以运行 SQL Profiler 来跟踪会话,该会话通过会话提供 CPU、READS、WRITES、DURATION,这将在会话在您的工作站上运行时提供有限的服务器级别信息。

于 2012-04-10T17:20:02.293 回答