Вопрос

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

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top