Berechnungen im Bericht vs Berechnung im gespeicherten Prozedur

Ich produziere einen Bericht, der eine Berechnung als eine der gewünschten Spalten hat:

SELECT .... sum(SFLI.PLANNEDVOLUME) * PTS.KILOGRAMSPERUNIT as [WEIGHT], FROM .... GROUP BY .... 

Ein weiterer Entwickler von meinem Team, sagte, dass es besser wäre, die Berechnung auf den Bericht zu verschieben, anstatt es in der gespeicherten Prozedur zu lassen, weil es einen schlechten Ausführungsplan erzeugt. Ich habe einige Recherchen gemacht und es scheint, dass bewegte Berechnungen zum Bericht für große datasätze schlecht sein können.

Also meine Frage, ist es super schlecht lassen die Berechnung in der gespeicherten Prozedur? Ich bin mir ziemlich sicher, dass SQL server schlau genug ist, um Dinge parallel zu machen und sogar der Ausführungsplan wird nicht so schlimm sein. Liege ich falsch?

PS: Ohne die Gruppierung reden wir über 250k Zeilen, die gruppiert produziert <250 Zeilen.

Das Verschieben der Berechnung in den Bericht bedeutet nur, dass der SSRS Webserver die Arbeit durch Code (C? C ++?) Anstelle von SQL ausgeführt wird, die es durch den db-Engine-Optimierer läuft. Wenn du eine Menge von String-Manipulationen machst, dann könnte SSRS es in der Lage sein, es schneller als SQL zu machen, aber in deinem Fall sieht es so aus, als würdest du eine numerische Berechnung machen, und ich würde definitiv SQL-Handeln lassen, wenn du dich nicht mitteilt dass du den server auf die Knie bringst. Wenn du bist, kannst du auch die Abfrage als nächtlichen Batch-process in einen Datamart ausführen. Wie @scsimon sagt, hängt es wirklich davon ab, wie schnell jedes Szenario in deiner Umgebung läuft, also kannst du nicht von deinem Diener des Mitarbeiters abhängen.

Persönlich habe ich viele Berichte, die die gleichen oder ähnliche datasätze verwenden, also macht es mehr Sinn für mich, die Berechnungen in SQL zu haben, weil ich alle Berichte ändern kann, indem du den zugrunde liegenden proc ändere.