2014-09-04 3 views
1

В моем решении activepivot у меня есть магазин, содержащий стол и валюту для каждой сделки.Как ускорить серию похожих запросов в хранилище activepivot?

Например:

  • 1, EUR, Deska, 10
  • 2, евро, DeskB, 18
  • 3, фунт, Deska, 17
  • 4, USD, Deska, 54

У меня есть много запросов, где я хочу найти все записи , которые содержат deskA и конкретную, но меняющуюся валюту.

Чтобы выполнить эти три запроса:

  • Deska, евро
  • Deska, USD
  • Deska, GBp

Я хотел бы использовать подготовленное заявление, чтобы избежать разбора запросов много раз , Есть ли эквивалент в activepivot?

ответ

0

Это, как вы можете определить прекомпилированный запрос

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")