На что обращать внимание при настройке UpdateBatchSize - PullRequest
2 голосов
/ 14 апреля 2009

У меня есть приложение .NET, которое объединяет две таблицы данных с большим количеством строк (более 10000). При использовании команды DataAdapter.Update существует большая вероятность наличия большого количества обновлений / вставок для таблицы SQL.

Прямо сейчас у меня установлено свойство Adapter UpdateBatchSize, равное 200. VS предостерегает от установки этого значения слишком высоко, поскольку оно может снизить производительность. Хорошо, понял.

Производительность, что я должен искать при установке этого свойства? Независимо от того, что обновление большого количества строк займет много времени. Запуск его на моей машине (или на сервере БД) не занимает много времени, но я уверен, что когда система загружается с другими элементами, это может быть проблемой.

Есть ли что-то, что я могу найти в Профилировщике? При стандартном профилировании Duration обычно равен 0. Иногда это хиты 1 или 2 (может быть, в 20 раз больше) и из примерно 20 000 обновлений 3-4 хиты 20. CPU равен 0, за исключением пары, которая ударила 1-2 , Есть 2 записи, которые достигают примерно 10. Чтения всегда равны 2, а записи всегда равны 0.

1 Ответ

2 голосов
/ 14 апреля 2009

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

...