我在内存中有一个数据集,里面有两个数据表。
其次我有单独的数据表(在内存中),其中我有以下格式的行。
假设它有两行。实际上它可能有数百万行
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;
在上述查询结果的基础上,我实现了我的业务逻辑。
目标:为了提高性能,我想在应用服务器中执行查询,因为现在我在内存中有完整的表。我该怎么做。
注意:表名可能因数据而异。
答案 0 :(得分:0)
你真的想在内存中保留数百万行的表吗?
在计算内存表方面,它是如何保留的?如果它是您的标记的数据表,则可以使用DataTable.Rows.Count
属性。
如果你的表名不知道,你可以遍历DataSet.Tables中的表并在每个表上调用Rows.Count。
答案 1 :(得分:0)
您必须在app_ID字段上创建索引。在那之后,你的计数将以良好的表现运行。
答案 2 :(得分:0)
您的查询引用了未定义的别名“Ins”。您必须在FROM / JOIN子句中指定另一个表,并将“count()”更改为“count(Cont。)”