Im запускает запрос и в настоящее время возвращает 1400 результатов, и из-за этого я получаю следующее предупреждение в файле журнала:
com.google.appengine.api.datastore.QueryResultsSourceImpl logChunkSizeWarning: этот запрос не имеет размера блока, установленного в FetchOptions и вернул более 1000 результатов. Если наборы результатов этот размер является общим для этого запроса, рассмотрите настройку размера блока для улучшить производительность.
Я не могу найти нигде примеров того, как реально реализовать это, здесь есть вопрос о python, но поскольку я использую java и не понимаю python, я изо всех сил пытаюсь его перевести.
Также этот запрос (ниже) принимает 17226cpu_ms для выполнения, что слишком долго, я даже не могу представить, что произойдет, если бы я сказал 5000 контактов и должен был искать их на стороне клиента (например, вы делаете с контакты googlemail!)
Код, который у меня есть:
int index=0;
int numcontacts=0;
String[][] DetailList;
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
Query query = pm.newQuery(Contact.class, "AdminID == AID");
query.declareParameters("Long AID");
query.setOrdering("Name asc");
List<Contact> Contacts = (List<Contact>) query.execute(AdminID);
numcontacts=Contacts.size();
DetailList=new String[numcontacts][5];
for (Contact contact : Contacts)
{
DetailList[index][0]=contact.getID().toString();
DetailList[index][1]=Encode.EncodeString(contact.getName());
index++;
}
} finally {
pm.close();
}
return (DetailList);
Здесь я нашел следующие две записи:
- google app engine chunkSize и prefetchSize - где я могу прочитать подробности об этом?
- GAE/J Низкоуровневый API: использование FetchOptions
но ни одна из них не содержит подробных сведений о том, как реализовать или использовать эти параметры. Я предполагаю, что это процесс на стороне сервера, и я предполагаю, что вы собираетесь настроить какой-то цикл, чтобы захватить куски на один кусок за раз, но как я на самом деле это делаю?
- Я вызываю запрос внутри цикла?
- Как узнать, сколько раз цикл?
- Я просто проверяю первый кусок, который возвращается с меньшим количеством записей в количестве блоков?
Как я собирался разобраться с такими вещами без фактического примера? Мне кажется, что другие люди здесь, похоже, "просто знают", как это сделать..!
Извините Если я не задаю вопросы правильно, или я просто тусклый новичок по этому поводу, но я не знаю, куда еще обратиться, чтобы понять это!