2016-10-25 4 views
0

У меня есть простой запрос для обновления очень большого количества записей ~ 20 миллионов. Обновление выполняется на удаленном сервере, с которого выполняется исходный оператор обновления, и в запросе есть несколько объединений.Обновление большого количества записей в SQL Server - низкая производительность

Хотел бы узнать, есть ли у кого-нибудь советы по тому, как этот запрос выполняется быстрее. он работает в течение нескольких часов.

Я думал о получении списка уникальных идентификаторов из оператора select, а затем запускаю обновление на удаленном сервере, но я уверен, что есть лучшие способы сделать это.

Спасибо.

+2

Можете ли вы дать нам некоторые фактические данные? В настоящее время ваш пост похож на «У меня есть гоночный автомобиль, который я хочу идти быстрее, как мне сделать быстрее?». Нам нужны детали, такие как структура таблицы, оператор обновления, индексы и т. Д. ... но 20 миллионов строк в одном обновлении, вероятно, будут ужасно медленными. Как правило, лучше разбить на более мелкие наборы около 10-100 тысяч за раз. –

+1

проверить план выполнения запроса - предлагает ли он, чтобы любые индексы необходимо было создать? – Cato

+0

Указатель существует. Я ищу очень общую идею и стратегии по обновлению большого количества строк. Какие вещи нужно избегать/делать. Это простой оператор обновления для обновления одного значения до нуля, существуют индексы, но поскольку это очень большое количество строк. Некоторые стратегии помогут. – Eclipse

ответ

Смежные вопросы