[img]https://i.sstatic .net/xVVWsEXi.png[/img]
База данных расположена на SQL-сервере, и мои боты запускаются с некоторых виртуальных машин Azure. Оба расположены в одном регионе. Более того, эта таблица не имеет первичного ключа и индексов, а всего в ней 428,760 записей.
Целью массового обновления является поиск столбца «id», а затем его обновление. столбец "document_hash".
Это текущая строка подключения, которую я использую для выполнения массового обновления:
Код: Выделить всё
Driver={ODBC Driver 17 for SQL Server};Server=[myServer];Database=[myDatabase];Uid=[myUsername];Pwd=[myPassword];Encrypt=yes;TrustServerCertificate=no;Connection Timeout=300;
ОШИБКА [HYT00] [Microsoft][ODBC Driver 17 для SQL Server]Тайм-аут запроса истек
Как решить эту проблему?.
Я читал, что могу реализовать индекс в столбце «id», но также я читал, что это помогает при запросе данных, но не при обновлении данных.
ОБНОВЛЕНИЕ 1:
Чтобы предоставить дополнительную информацию о деятельности Uipath. Я использую действие «Массовое обновление». У этого действия есть свойство Массовое/пакетное обновление, и в [документации][1] сказано:
Установите этот флажок, чтобы включите создание временной таблицы с помощью массовой
вставки и обновление с помощью соединения между таблицами. В противном случае массовые
обновления выпускаются пакетно.
По умолчанию этот флажок установлен. Я решил отключить это свойство, чтобы разрешить пакетное обновление. Я все еще получаю долгое время обновления с этим изменением. Когда я запускаю только одного бота, обновление происходит быстрее, когда я запускаю больше ботов параллельно, кажется, что возникает проблема с блокировкой, как упоминалось в комментариях @jdweng и @AlwaysLearning. Есть ли какая-либо конфигурация или решение, которое я могу реализовать, добавив кластеризованные индексы в столбец «id»?.
[1]: https://docs.uipath.com/activities/othe ... oper/bulk- обновить
Подробнее здесь: https://stackoverflow.com/questions/789 ... ut-expired