Ухудшается ли производительность запроса членства NDB («IN» )при большом количестве возможных значений?

В документации для операции запроса INуказано, что эти запросы реализованы как большой запрос на равенство с ИЛИ:

qry = Article.query(Article.tags.IN(['python', 'ruby', 'php']))

эквивалентно:

qry = Article.query(ndb.OR(Article.tags == 'python',
                           Article.tags == 'ruby',
                           Article.tags == 'php'))

В настоящее время я моделирую некоторые объекты для проекта GAE и планирую использовать эти запросы членства с большим количеством возможных значений :

qry = Player.query(Player.facebook_id.IN(list_of_facebook_ids))

. где list_of_facebook_idsможет иметь тысячи элементов.

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

5
задан proppy 13 August 2012 в 14:39
поделиться