Abfragen von SQL Server: Einfügen und Aktualisieren in gespeicherten Prozessen zusammenführen
Problem:
Für Um die Effizienz zu steigern, wird eine gespeicherte Prozedur gesucht, die eine Aktualisierung mit einer Einfügung kombiniert und die Einfügung nur durchführt, wenn der Datensatz dies nicht bereits tut existieren.
Annahme:
Der aktuelle Ansatz ist ein Update gefolgt von einer Einfügung, wenn das Update null Zeilen betrifft. Dies gilt als optimal, weil:
Validierung:
Die Annahme ist richtig. Diese als Upsert oder Merge bekannte Methode ist in der Tat die effizienteste Möglichkeit, eine Einfügung und Aktualisierung in einer gespeicherten Prozedur zu kombinieren.
Bedeutung von Upsert:
Upsert minimiert liest, indem versucht wird, eine Aktualisierung durchzuführen, und nur dann eingefügt wird, wenn die Aktualisierung keine Zeilen betrifft. In den meisten Fällen ist die Zeile bereits vorhanden und erfordert nur einen einzigen E/A-Vorgang.
Überlegungen:
Es ist jedoch wichtig zu beachten, dass dieses Muster Folgendes haben kann mögliche Probleme. Weitere Informationen zu diesen Problemen und eine Problemumgehung finden Sie in den folgenden Ressourcen:
Das obige ist der detaillierte Inhalt vonGespeicherte SQL Server-Prozeduren: Wie lassen sich INSERT- und UPDATE-Vorgänge effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!