Почему простой оператор UPDATE иногда выполняется за несколько секунд? - PullRequest
0 голосов
/ 25 января 2012

Наше веб-приложение автоматически отправляет нам электронное письмо, когда время выполнения страницы превышает одну или две секунды с временем выполнения каждого оператора SQL.Мы отслеживаем, какие страницы просматривает каждый пользователь при каждой загрузке страницы, и на выполнение этого запроса иногда уходит несколько секунд (мы получаем несколько автоматических электронных писем, сообщающих, что страница занимает одновременно больше пары секунд).

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

Есть идеи, что может быть причиной этого?Обычно он выполняется за доли секунды, но, скажем, каждую неделю или около того, это занимает около 2 или 3 секунд в течение, вероятно, промежутка времени в 10 секунд.

Ответы [ 2 ]

3 голосов
/ 25 января 2012

Это очень широкий вопрос, и может быть несколько причин:

  1. Существует ли закономерность того, в какой день / время недели это происходит?Может быть, ваша БД только что подошла

  2. Сколько у вас пользователей?Есть ли индексы для базы данных?

  3. А как насчет кеша базы данных?Настроен ли он?

  4. Откуда вы знаете, что это задержка базы данных, а не задержка сети?Вы пытались получить доступ с локального сервера базы данных и видели, не происходят ли там задержки?

1 голос
/ 25 января 2012

Если у вас есть доступ к SQL Profiler, вы можете запустить его в операторе, чтобы увидеть, происходит ли на сервере что-то, что может вызвать проблемы. Я также проверил бы путь выполнения в Management Studio / Query Analyzer, если вы можете. В противном случае, если они ничего не показывают, это, вероятно, связано с веб-аспектами, а не с SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...