Я немного смущен некоторыми документами GAE.Хотя я собираюсь добавить индексы для оптимизации производительности моего приложения, я хотел бы получить некоторые разъяснения относительно того, предлагаются ли они только для этой цели или если они действительно необходимы.
Запросы не могут найти свойствозначения, которые не проиндексированы.Это включает в себя свойства, помеченные как неиндексированные, а также свойства со значениями типа длинного текстового значения (Текст) или типа длинного двоичного значения (Blob).
Запрос с фильтром или порядком сортировки насвойство никогда не будет соответствовать объекту, значение которого для свойства является Text или Blob, или которое было записано с этим свойством, помеченным как не проиндексированное.Свойства с такими значениями ведут себя так, как будто это свойство не установлено в отношении фильтров запросов и порядков сортировки.
из http://code.google.com/appengine/docs/java/datastore/queries.html#Introduction_to_Indexes
Первый абзац заставляет меня поверить, что вы простоне может сортировать или фильтровать неиндексированные свойства.Однако второй абзац заставляет меня думать, что это ограничение ограничено только свойствами Text или Blob или свойствами, специально аннотированными как неиндексированные.
Мне интересно это различие, потому что у меня есть некоторые числовые и строковые поля, которые я в настоящее время сортирую / фильтрую в производственной среде, которые не проиндексированы.Эти запросы выполняются в фоновом режиме, который в основном не заботится о производительности (в этом случае лучше оптимизировать размер / стоимость).Мне как-то просто повезло, что они возвращают правильные данные?