Почему SQL будет очень медленным при обновлении? - PullRequest
0 голосов
/ 14 декабря 2010

Внезапно выполнение обновлений в нескольких таблицах стало в 10 раз медленнее, чем раньше.Каковы хорошие рекомендации для определения первопричины и оптимизации?Может ли быть так, что индексирование определенных столбцов приводит к медленным обновлениям?Любые другие рекомендации?

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

Есть ли в Fluent NHibernate что-нибудь, что вы можете использоватьопределить причину проблем с производительностью?

Ответы [ 6 ]

3 голосов
/ 14 декабря 2010

Сначала попробуйте обновить статистику.

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

Затем попробуйте перестроить индексы.

Не зная схемы, запроса или объема данных, трудно сказать что-то большее.

1 голос
/ 14 декабря 2010

1- Сначала проверьте, нет ли у таблицы замков

2 - Недавно реализованные триггеры

3 - Для обновления базы данных может потребоваться перестроение индекса.

4- Выполняется несколько предопределенных заданий.

5 - ЛЮБЫЕ НЕИЗВЕСТНЫЕ ПРИЧИНЫ

Используйте некоторые инструменты анализатора запросов, чтобы увидеть, что на самом деле происходит.

1 голос
/ 14 декабря 2010

И, как всегда, запуск профилировщика SQL на вашем сервере SQL даст вам хорошее представление о том, в какой именно точке находится ваше узкое место.

1 голос
/ 14 декабря 2010

Причины ...

  • Слишком много индексов

  • Растет число записей

  • Неверный индекс индекса условия where запроса на обновление

  • Проблемы с блокировкой из-за нескольких обновлений (блокировка таблицы)

  • Проблемы с оборудованием (контроллер диска, сеть и т. Д.)

0 голосов
/ 14 декабря 2010

Также проверьте, вставляете ли вы данные в кластерный индекс не по порядку.

Кластерный индекс хранит данные в порядке полей, что означает, что если это уникальный идентификатор, вы будете переупорядочивать данные при каждой вставке.

Кластерные индексы лучше работают с последовательными данными.

0 голосов
/ 14 декабря 2010

Стоит проверить настройки роста файлов данных, если вы выполняете много операций вставки, что приводит к регулярному увеличению файла, это может проявиться как замедление.

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