2015-04-21 5 views
0

Here это говоритПроекционные Запросы в GAE/J с увеличением производительности

Проекционные запросы позволяют запросить Datastore ... при более низкой латентности и стоимости, чем получение всей сущности.

Но here это говорит

[Использование JDO, я думаю,] это не дает никакого прироста производительности

Таким образом, мы должны использовать низкоуровневый Java API DATASTORE, чтобы получить прирост производительности?

+0

Вторая ссылка говорит, что использование низкоуровневого API или JDO не дает прироста производительности «все равно приведет к извлечению и декодированию всего объекта из хранилища данных, поэтому, если целью является повышение производительности, то нет усиления». –

+0

Но первая ссылка официальная. Запросы проекции позволяют снизить затраты и задержки при использовании низкоуровневого API. – lembas

+0

уверены, и они также говорят, что JDO и JPA уже имеют «проекционные запросы» ... поэтому их сообщение так же ясно, как и грязь. Удачи вам в получении разъяснений Google –

ответ

1

App Engine хранит данные двумя способами: индексированные свойства хранятся в индексах, а затем весь объект хранится отдельно, поэтому его можно легко получить с помощью get. Поэтому, если вам нужно получить доступ к неиндексированному свойству, нет другого выбора, кроме как получить весь объект.

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

+0

Могу ли я использовать JDO для такой же производительности? Я имею в виду, как определить, достиг ли я производительности, или JDO получает всю сущность и отфильтровывает нежелательные члены (т. Е. Подделывает)? – lembas

 Смежные вопросы

  • Нет связанных вопросов^_^