Ausgabe
Ich versuche, die Leistung eines SP zu erklären. Ich habe Zweifel an SUM und ISNULL. Soll ich beim Summieren einer Spalte ISNULL verwenden? Ist es SICHER, SUM() ohne ISNULL zu verwenden? Mein Beispiel ist unten
SUM(ISNULL(COL1,0))
Da ISNULL viel kostet, beabsichtige ich, SUM ohne ISNULL wie unten zu verwenden
SUM(COL1)
Ich habe einige kleine Tests durchgeführt und konnte keine Ergebnisse sehen
Lösung
Ja, es ist sicher. Sie können Sum verwenden, ohne den NULL-Wert zu verarbeiten. Das kannst du auch überprüfen.
Kannst du auch so verwenden.
ISNULL(SUMME(COL1),0).
Gibt die Summe aller Werte oder nur der DISTINCT-Werte im Ausdruck zurück. SUM kann nur mit numerischen Spalten verwendet werden. Nullwerte werden ignoriert.
Als Referenz: https://msdn.microsoft.com/en-IN/library/ms187810.aspx
Beantwortet von – Sandeep Kumar
Antwort geprüft von – Willingham (FixError Volunteer)