C# 使用MSSQL CLR以json形式检索数据

C# 使用MSSQL CLR以json形式检索数据,c#,.net,sql-server,sqlclr,C#,.net,Sql Server,Sqlclr,这是我的问题 我有一个超过100万条记录的表,我使用这些记录生成一些使用crystal reports的报告,但是当选择大量记录时,有时会出现超时错误,有时计算机会卡住 我已经使用索引和im使用存储过程检索数据 有几个表与主表(有1mil记录)连接,数据也将在报表中分组 所以我在问我们能否使用MSSQL CLR通过压缩或转换为轻型对象从数据库中获取这些数据,如果有人有想法,我们将不胜感激 谢谢您的帖子中有两个独立的问题不太可能通过CLR解决方案解决: 超时 没有关于超时实际发生位置的详细信息

这是我的问题

我有一个超过100万条记录的表,我使用这些记录生成一些使用crystal reports的报告,但是当选择大量记录时,有时会出现超时错误,有时计算机会卡住

我已经使用索引和im使用存储过程检索数据

有几个表与主表(有1mil记录)连接,数据也将在报表中分组

所以我在问我们能否使用MSSQL CLR通过压缩或转换为轻型对象从数据库中获取这些数据,如果有人有想法,我们将不胜感激


谢谢

您的帖子中有两个独立的问题不太可能通过CLR解决方案解决:

  • 超时
没有关于超时实际发生位置的详细信息(在执行选择时在rdbms上,在检索数据时在客户端,在实际生成报表时在报表引擎中)因此,我假设rdbms上出现超时。
构建CLR库不会缩短收集数据所需的时间。
解决方案是索引(正如您已经做过的那样)和查询计划分析,以确定瓶颈和问题。
如果您提供了任何sql代码,则可以给您一些相关提示

  • 计算机卡住了
这看起来像是一个与数据量有关的问题,使机器无法正常工作,而您只能做很少的事情。
服务器上的CLR库不会再次降低传递给che客户端的数据量,imho只会使情况变得更糟(客户端将收到压缩数据以进行解压缩:对于已经过载的机器来说,这是一项额外的繁重任务)。
您的最佳选择是增加ram的数量,购买更好的cpu(更高的速度和/或更多的内核),按计划运行报告,而不是以交互方式运行

帖子中根本没有技术细节,因此以上所有内容或多或少都是胡乱猜测;如果您需要更详细的答案和建议,请发布另一个问题,并提供有关问题的技术细节。

如果数据量巨大,添加一个层(将“转换”为json的层)可能会减慢所有处理。您是否有任何证据和/或信息表明转换为json将提高性能?也许您可以在将数据导出到软件之前在sql上处理数据?好的,如果json将增加处理权重,我们是否可以加密或压缩sql中的数据,然后导入到我们的应用程序n?我正在使用存储过程生成数据,但如果数据量很大,它将超时。请在帖子中立即添加所有详细信息。您在评论中提到存储过程、超时错误、加密和压缩作为旁注。您到底在寻找什么?请用所有相关详细信息描述问题。p请修改帖子,不要在评论中添加详细信息。好的,完成了,不清楚