Ich versuche, eine große Menge von Datensätzen in eine Tabelle einzufügen, die als Volltext indexiert ist. Ich habe die Änderungsverfolgung auf auto
gesetzt.
Die Datensätze werden aus einer anderen Tabelle eingefügt, normalerweise etwa 50.000 auf einmal. Auf SQL Server 2008 dauert dies normalerweise etwa 5 Sekunden. Aber auf unserer Live-Umgebung von 2005 dauert dies mehr als 10 Minuten.
Bei Betrachtung der Ausführungspläne scheint das Einfügen in den gruppierten Index der Volltext-Tracking-Tabellen das Problem zu sein. Die Primärschlüsselspalte ist ein uniqueidentifier
, die mit newsequentialid()
erstellt wird. Während 2008 1 Clustered Index Merge auf fulltext_index_docidstatus
ausführt, führt 2005 50.000 Mal ein Clustered Index Insert auf fulltext_index_map
aus.
Leider ist ein Upgrade des Servers derzeit keine Option. Das Deaktivieren der Änderungsverfolgung behebt das Problem, aber ich möchte das wirklich nicht tun, da das Verwalten der Bevölkerung selbst nicht angenehm sein wird. Die Änderungsverfolgung scheint der schnellste Weg zu sein, um neue Datensätze im Volltextindex anzuzeigen, und das hat Priorität.
Gibt es eine Möglichkeit, dies zu umgehen, während die Änderungsverfolgung aktiviert bleibt?