2016-12-01 8 views
0

Ich habe ein Feld auf einem Primärschlüssel auf einer SQL Server 2012 Tabelle geändert. Ich entfernte ein Feld der 11 im zusammengesetzten Primärschlüssel und ersetzte es durch ein Feld des gleichen Datentyps und der gleichen Größe.Composite-Primärschlüssel-Effekt auf Update-Leistung ändern

Die Aktualisierung von 45.000 Datensätzen in dieser Tabelle dauerte früher Sekunden und dauert jetzt 45 Minuten. Tatsächlich habe ich 3 fast exakte Tabellen aktualisiert und sehe den gleichen Effekt in allen Tabellen.

Was hätte die Updates verlangsamen können?

+2

'Ich entfernte ein Feld der 11 in den zusammengesetzten Primärschlüssel': das ist ein großer Schlüssel, den Sie dort haben ... – joop

+0

Zeige" vor "und" nach "DDL-Skripten Ihrer Tabelle. Und Update-Anweisung. –

+0

Diese Probleme sind fast immer entweder ein fehlender Index oder schlechte Statistiken. Aufgrund dessen, was du getan hast, könnte es leicht beides oder beides sein. Gruppieren Sie auch die PK-Spalten? – UnhandledExcepSean

Antwort

0

Entschuldigung, kann keine Kommentare hinzufügen.

Haben Sie den Index vollständig neu erstellt (DROP & CREATE)? Wenn ja, änderst du Einstellungen wie SORT IN TEMP DB?

Wenn Sie die Tabelle AKTUALISIEREN, aktualisieren Sie das Feld, das dem INDEX hinzugefügt wurde?

Haben Sie nach Fragmentierung gesucht?