现有要求报告需要执行子字符串操作并对列中的切断字符串进行分组。例如,考虑我过度简化的情况:
除此之外,我还有一个名为FileName的列,它可能包含这样的值
NWSTMT201308201230_STMTA
NWSTMT201308201230_STMTB
NWSTMT201308201230_STMTC
等。
我正在处理的报告应该在_
符号之前对值进行分组。
假设数据量很大,那么最好的位置是子串和?分组 - 在存储过程中还是返回原始数据并在SSRS中完成所有工作?期望具有良好的性能和可维护性。
答案 0 :(得分:1)
如你所述,有几种不同的可能性。对此没有正确答案,但当然每种方法都有优点和缺点。
我对选项的看法:
所以我的决策过程就像:
我经常会开始关注方法3,然后意识到我已经使用了太多的地方,我应该早点集中。此外,我们的团队非常熟悉SQL,所以推动前两个选项比一些商店更多。
除非您知道自己遇到问题,否则我会将性能问题放在第二位。将此代码放在SQL中有时可以获得回报,但如果您不小心,最终可能会对最终过滤掉的结果过度调用。