c# - 在服务器或客户端按数据分组更好吗?

标签 c# sql-server-2008 report

我正在使用 c# 和 sql server 2008 开发一个应用程序来自动化一个体育俱乐部,我快完成了。 现在我通过在传递一些参数后从 c# 应用程序返回数据的 sql server 中创建存储过程来为我的应用程序制作报告,并且报告的结果如分组,返回的字段数量根据发送的参数而改变。 我的问题是在 sql server 中进行分组并返回最后的结果并将其显示在 c# 报告中,或者获取数据而不进行分组或排序并在 c# 报告中进行你知道在 c# 报告中你可以进行分组并选择要显示的字段分组依据

提前致谢。

最佳答案

这取决于。如果 LINQ 是一个选项(意味着您正在使用 Entity Framework 或不使用存储过程),那么您可以在 C# 代码中以编程方式更改 group by,同时仍在服务器上执行分组。

如果您不能使用 LINQ/实体模型,但您的 group by 可以动态更改,请在应用程序级别执行分组,这样您就可以根据用户参数对数据进行分组,而无需使用十亿不同的查询选项。

否则,在服务器上执行它,因为这样可以减少带宽消耗,在传输时间方面更快,并且通常更快,因为 SQL(和通用数据库)分组比您在 C# 中执行的操作快得多。

以下是感兴趣的链接:

关于c# - 在服务器或客户端按数据分组更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6710822/

相关文章:

C# FindAll VS Where速度

c# - 在字符串中间匹配锚定正则表达式的快速方法

c# - 如何在单击按钮时检查是否在数据网格中选中了复选框

SQL - 围绕 AND 的 IF 语句

java - Birt 报告 印度卢比 格式

python - 如何在我的 QWeb 报告中使用 python 函数?

c# - 在类之间重用代码

sql-server - 更改列数据类型后截断(使用 ROUND)已停止工作

sql-server-2008 - 如果我禁用正在运行的作业,它会停止作业吗?

asp.net - RDLC 发票,其中 tablix、标题、详细信息和总计与页面底部对齐