На что обращать внимание при настройке UpdateBatchSize
У меня есть приложение.NET, которое объединяет две таблицы данных с большим количеством строк (более 10000). Существует большая вероятность наличия большого количества обновлений / вставок для выполнения таблицы SQL при использовании команды DataAdapter.Update.
Прямо сейчас у меня есть свойство Adapter UpdateBatchSize, равное 200. VS предупреждает против установки этого значения слишком высоким, поскольку это может снизить производительность. Хорошо, понял.
Что касается производительности, что я должен искать при установке этого свойства? Независимо от того, что обновление большого количества строк займет много времени. Запуск его на моей машине (или на сервере БД) не занимает много времени, но я уверен, что когда система загружается с другими элементами, это может быть проблемой.
Что я могу найти в профилировщике? При стандартном профилировании длительность обычно равна 0. Иногда это попадания 1 или 2 (может быть, в общей сложности в 20 раз) и из примерно 20 000 обновлений, 3-4 попадания 20. Процессор равен 0, за исключением пары, ударившей 1-2, Есть 2 записи, которые доходят примерно до 10. Чтения всегда 2, а записи всегда 0.
1 ответ
Прежде всего, я бы сделал этот параметр настраиваемым, чтобы вы могли тестировать различные значения без компиляции. Следующее, что нужно, это следить за продолжительностью всей вашей партии. Если вы довольны исполнением, не меняйте его. Если вы недовольны производительностью, попробуйте увеличить или уменьшить настройку, чтобы посмотреть, как она себя ведет.