根据动态查询从数据表中选择计数

本文关键字:选择 数据表 动态 查询 | 更新日期: 2023-09-27 18:28:57

我在内存中有一个数据集,其中有两个数据表。

  • Ins

其次,我有一个单独的数据表(在内存中),其中有以下格式的行。

假设它有两排。实际上,它可能有数百万行

ID    TableName    ColumnName    Operator    value 
1       Const        ID            =           1  
2       Ins         app_ID         =         558877 

按原样:现在我从给定的行中获取信息,构建一个查询并在数据库服务器中执行,如:

Select count(*) from Cont.Id= 1 and Ins.app_id = 558877;

在上述查询结果的基础上,我实现了我的业务逻辑。

目标:为了提高性能,我想在应用程序服务器中执行查询,因为现在我在内存中有完整的表。我该怎么做。

注意:表格名称可能因数据而异。

根据动态查询从数据表中选择计数

您真的想在内存中保留数百万行的表吗?

就计算内存中的表而言,它是如何保存的?如果根据您的标记是一个数据表,则可以使用DataTable.Rows.Count属性。

如果您的表名未知,您可以在DataSet.tables中的表上循环,并对每个表调用Rows.Count。

您必须在app_ID字段上创建索引。之后,您的计数将以良好的性能运行。

您的查询引用了未定义的别名"Ins"。您必须在FROM/JOIN子句中指定另一个表,并将"count()"更改为"count(Cont.)"