一次触发许多SQL查询

时间:2018-07-06 09:42:22

标签: c# ado.net

我们在页面上显示4列数据网格。我想基于网格的每个单元格中的每个值(即每行4个查询)执行查询。

因此,我可以用与该值匹配的db中的记录数填充单元格。

当每行都由jqgrid填充时,它将触发每个单元格的ajax调用。

我认为这是一个非常糟糕的主意,因为我已经发现浏览器限制了对同一服务器的ajax调用次数。

ado.net是否有类似的限制?

我想将这些查询一起批处理,以便减少对数据库的调用,这是您要做什么?

您将如何处理?

2 个答案:

答案 0 :(得分:0)

您可以将AJAX调用合并为一个,结果对象包含一个数组或每个结果集的多个属性,然后在服务器上并行运行SQL。

查看此质量检查,以了解如何使用TPL和SQL的选项。

Parallel.Foreach SQL querying sometimes results in Connection

答案 1 :(得分:0)

我建议您在第一个请求中选择关联的ID数据,然后在用户界面中填充值。

您可以根据自己的需求和体系结构在第一个查询中使用联接或左联接,并获取特定的列值/ count(id)(这里提到的记录数)。