2016-12-01 2 views
0

Я изменил одно поле на первичный ключ на таблице SQL Server 2012. Я удалил одно поле из 11 в составном первичном ключе и заменил его полем того же типа и размера.Изменить составной эффект первичного ключа на производительность обновления

Обновление 45 000 записей в этой таблице занимало секунды, и теперь это занимает 45 минут. Фактически я обновил 3 почти точные таблицы и вижу тот же эффект во всех таблицах.

Что могло бы замедлить обновления?

+2

'Я удалил одно поле из 11 в составном первичном ключе': это большой ключ, который у вас есть ... – joop

+0

Покажите« до »и« после »DDL-скрипты вашей таблицы. И инструкция обновления. –

+0

Эти проблемы почти всегда являются либо отсутствующим индексом, либо плохими статистическими данными. Из-за того, что вы сделали, это может быть легко или и то, и другое. Кроме того, вы кластеризуетесь в столбцах PK? – UnhandledExcepSean

ответ

0

К сожалению, не добавьте комментарий.

Вы полностью воссоздали Индекс (DROP & CREATE)? Если бы вы изменили такие настройки, как SORT IN TEMP DB?

Когда вы ОБНОВЛЯЕТ таблицу, вы обновляете поле, добавленное в INDEX?

Вы проверили фрагментацию?