Денормализация ваших данных для сокращения числа индексов звучит как хороший компромисс.Уменьшение количества нужных вам индексов приведет к уменьшению количества индексов для обновления (хотя ваш один индекс будет иметь больше обновлений);Неясно, как это повлияет на производительность на GAE.Размер, конечно, будет больше, если вы оставите исходные поля на месте (поскольку вы копируете данные в свойство списка строк), но это может быть не слишком значительным, если ваша сущность уже была достаточно большой.
Этонемного сложнее, так как индекс в списке будет содержать одну запись для каждого элемента в списке на каждую сущность (а не только одну запись на сущность).Это, безусловно, повлияет на пространство и производительность запросов.Кроме того, будьте осторожны при создании индекса, который содержит несколько свойств списка, или вы можете столкнуться с проблемой взрыва индексов (несколько свойств списка => одна запись индекса для каждой комбинации значений из каждого списка).
Попробуйте поэкспериментироватьи посмотрите, как это работает на практике для вас (используйте AppStats !).