0

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

  • 插件

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

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

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;

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

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

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

4

3 回答 3

0

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

在计算内存表方面,它是如何保存的?如果它是根据您的标签的数据表,您可以使用该DataTable.Rows.Count属性。

如果您的表名未知,您可以遍历 DataSet.Tables 中的表并在每个表上调用 Rows.Count。

于 2013-08-26T07:59:51.157 回答
0

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

于 2013-08-26T09:51:17.850 回答
0

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

于 2013-08-27T07:54:35.487 回答