Я выполняю запрос, и в настоящее время он возвращает 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);
Я нашел следующие две записи здесь:
, но ни один из них не содержит подробностей о том, как реализовать или использовать эти параметры.Я предполагаю, что это процесс на стороне сервера, и я предполагаю, что вы должны настроить какой-то цикл для захвата кусков по одному фрагменту за раз, но как я на самом деле это делаю?
- Должен ли явызвать запрос внутри цикла?
- Как узнать, сколько раз зацикливаться?
- Должен ли я просто проверить, есть ли первый чанк, который возвращается с меньшим, чем количество записей, размером в чанк?
Как я собираюсь выяснить подобные вещи без реального примера для подражания?Мне кажется, что другие люди здесь, кажется, "просто знают", как это сделать ..!
Извините, если я не правильно задаю вопросы, или я просто смутный новичокэто, но я не знаю, куда еще обратиться, чтобы понять это!