Я реализовал логику запроса таблицы и для каждого объекта в этой конкретной таблице, мне нужно найти другую таблицу.Как увеличить производительность запроса gae?
Для, например.
Мой код выглядит,
query = ndb.gql("select * from Foo where user = :1", user.key)
stories, next_cursor, more = query.fetch_page(size, start_cursor=cursor)
if next_cursor:
for story in stories:
print story.key
images = ndb.gql("select * from Images where story = :1", story.key)
for image in images:
print image.key
else:
#do some operations
Вы видите, если мы дадим размер как 10 к fetch_page функции, было бы найти 10 объектов каждый. И для каждого объекта мы должны искать другой вид Image
.
Этот тип поиска в хранилище данных занимает от 850 до 950 мс. Я хочу уменьшить время отклика этого API. Обратите внимание, что мне нужно получить некоторые значения столбцов от Story
, а также от Images
вида.
Есть ли способ сократить запрос с помощью метода get_multi
. Или у меня есть идея использовать memcache
или мы должны определить новый StructuredProperty
в модели Foo
, где это значение должно быть списком объектов модели Images
.
Я не знаю, какой из них подходит в этом случае .. Pls guide me.
почему отдельная модель для индекса. Почему мы не определяем 'images = ndb.KeyProperty (kind = Image, repeat = True)' внутри 'Story'? –
Спасибо за ваши ответы. –
Конечно, вы можете это сделать. Я просто не знал всех зависимостей. – turkus