Anforderungen: Wenn es eine Tabelle mit zig Millionen Daten gibt, ist es notwendig, ein nicht-aggregierter Index hinzuzufügen, um die Abfrageeffizienz zu verbessern, aber die Datenbank läuft bereits in der Produktionsumgebung, und viele Anwendungen führen Operationen zum Hinzufügen, Löschen, Ändern und Abfragen der Tabelle durch, was auch bedeutet, dass mehrere Threads Operationen auf der Tabelle ausführen. Wenn Sie eine normale Indexadditionsanweisung direkt in der Tabelle verwenden, führt dies dazu, dass die Programmausführung in der Produktionsumgebung abnormal wird, wie zum Beispiel Blocken und Ausführungszeit.
Die normale SQL-Anweisung zum Hinzufügen eines nicht-clusterten Index ist wie folgt:
Die sicherheitsoptimierte SQL-Anweisung zum Hinzufügen nicht-clusterter Indizes lautet wie folgt:
Auslegung:
ONLINE = ON Rolle: Ermöglicht es Benutzern, Tabellen während der Indexerstellung abzufragen, einzufügen, zu aktualisieren und zu löschen (d. h. "Online"-Operationen), was nur von der Enterprise Edition unterstützt wird. SORT_IN_TEMPDB = ON Funktion: Übertragen Sie die "temporären Sortierdaten", die für die Indexerstellung/-rekonstruktion benötigt werden, von Ihrer Geschäftsdatenbank in TempDB, nicht in die Geschäftsdatenbank, an der ich arbeite. MAXDOP = 4 Rolle: Spezifiziert MAXDOP, um Parallelität zu begrenzen und sicherzustellen, dass nicht alle Scheduler belegt werden, d. h. um die Indexoperation so zu begrenzen, dass sie parallel mit bis zu 4 CPU-Kernen (Threads) ausgeführt wird.
Referenz:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar. |