为什么简单的UPDATE语句有时需要几秒钟才能运行?

时间:2012-01-25 14:54:16

标签: sql sql-server performance

当页面执行超过一两秒时,我们的Web应用程序会自动向我们发送电子邮件,其中包含运行每个SQL语句的时间。我们跟踪每个用户在每个页面加载时浏览的页面,此查询有时需要几秒钟才能运行(我们收到一些自动电子邮件告诉我们页面同时花费的时间超过几秒钟)。

UPDATE whosonline
SET datetime = GETDATE(),
    url = '/user/thepage'
WHERE username = 'companyname\theusername (0123456789)'

任何可能导致这种情况的想法?通常情况下,它会在一瞬间运行,但是说每周大约需要2到3秒,可能需要10秒的时间。

2 个答案:

答案 0 :(得分:3)

这是一个非常广泛的问题,可能有很多原因:

  1. 这周发生了什么日期/时间的模式?也许你的数据库机刚刚出现

  2. 您有多少用户?是否有数据库索引?

  3. 数据库缓存怎么样?是否已配置?

  4. 您如何知道这是数据库延迟而不是网络延迟?您是否尝试过从本地数据库服务器访问并查看是否也发生了延迟?

答案 1 :(得分:1)

如果您有权访问SQL事件探查器,则可能需要在语句上运行该命令以查看服务器上是否发生了可能导致问题的任何事情。如果可以,我还会检查Management Studio / Query Analyzer中的执行路径。否则,如果那些没有出现任何东西,它可能与网络方面有关,而不是SQL。