如何在activepivot的数据存储中加速一系列类似的查询



在我的activepivot解决方案中,我有一个商店,里面有桌子和每笔交易的货币。

例如:

  • 1,eur,DeskA,10
  • 2,eur,桌B,18
  • 3,gbp,DeskA,17
  • 4,美元,DeskA,54

我有很多问题想在哪里找到所有记录包含deskA和特定但不断变化的货币。

要执行这三个查询:

  • DeskA,eur
  • DeskA,美元
  • DeskA,gbp

我会使用预先准备好的语句来避免多次解析查询。activepivot中有类似的功能吗?

这就是定义预编译查询的方法

IRecordQuery query = new RecordQuery("storeName", Equal("attributeUsedForSearchHere").parametrized(0), Arrays.asList("attribute2", "attribute3", "attribute4"));
compiledQuery = datastore.getQueryManager().compile(query);

这就是你如何执行它

ICursor cursor = datastore.getQueryManager().execute(compiledQuery , new Object[] { valueOfAttributeUsedForSearchHere} );

基本上在上面你使用attributeUsedForSearchHere作为一个属性,你将使用它来基于相等的条件进行搜索;当然,你可能有几个特点。

然后,一旦执行了查询,就可以读取其他属性(attribute2、3和4),如下所示:

cursor.getRecord().read("attribute2")

最新更新