【发布时间】:2012-01-25 14:54:15
【问题描述】:
当页面执行超过一两秒时,我们的网络应用程序会自动向我们发送电子邮件,其中包含运行每个 SQL 语句的时间。我们跟踪每个用户在每次页面加载时浏览的页面,并且这个查询有时需要几秒钟才能运行(我们收到许多这样的自动电子邮件,告诉我们一个页面同时花费了超过几秒钟的时间)。
UPDATE whosonline
SET datetime = GETDATE(),
url = '/user/thepage'
WHERE username = 'companyname\theusername (0123456789)'
任何想法可能导致这种情况?通常它会在瞬间运行,但每周大约需要 2 或 3 秒,时间跨度可能为 10 秒。
【问题讨论】:
-
听起来页面执行需要几秒钟,而不一定是
UPDATE语句...正确吗? -
也许你已经启用了自动增长,当你需要增长你的数据库文件时,你的延迟就会发生。
-
也可能被另一个进程阻塞。
-
@Yuck 这是数据库语句 - 数据库连接、运行语句、获取结果和关闭连接所需的时间。在同时到达的 10 封电子邮件中(都来自不同的在线用户),对于这个特定的 SQL 语句,它总是延迟。
-
在这种情况下,我和@MikaelEriksson 在一起 - 您的数据库很可能正在经历文件增长。您应该预先调整数据库大小,以防止在生产环境中发生这种情况。
标签: sql sql-server performance