Die berechnete Spalte von SQL Server 2005 wird beibehalten
Habe ich einige berechnete Spalten in eine Tabelle und muss wissen, ob ich setzen sollte, bleibt auf true. Was sind die Vorteile? Gibt es irgendwelche Nachteile? Was bedeutet "persistente" gemeint?
InformationsquelleAutor der Frage hilary | 2009-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
"Beibehalten" bedeutet "physisch abgespeichert" in diesem Zusammenhang.
Es bedeutet, dass der berechnete Wert wird berechnet, sobald Sie auf einfügen (und die updates) und gespeichert auf der Festplatte, so muss es nicht berechnet werden erneut auf alle auswählen.
Persistiert, führt ebenfalls zu Leistungseinbußen auf einfügen und updates, da muss die Spalte berechnet werden, aber erhöht die Leistung bei nachfolgenden select-Abfragen.
So, es hängt von Ihrem Nutzungsverhalten, dem Ansatz zu Folgen: wenn Sie ein update nur selten, aber die Abfrage eine Menge, sollten Sie persistent = true.
Wenn Sie Häufig aktualisiert werden, oder wenn Sie kümmern sich nicht um den Abruf der Leistung, sollten Sie überlegen, die Einstellung persistent = false
InformationsquelleAutor der Antwort Manu
Eins noch nicht erwähnt, in anderen Antworten: eine berechnete Spalte muss BEIBEHALTEN werden um nutzbar zu sein von FREMDEN Schlüsseln.
InformationsquelleAutor der Antwort Branko Dimitrijevic