Производительность с несколькими операторами ИЛИ - PullRequest
0 голосов
/ 07 августа 2010

Кто-нибудь имеет представление о том, как использование нескольких OR влияет на производительность в движке приложения (возможно, время процессора)?Что-то вроде:

select from users where username = 'bob' or
    username = 'jane' or
    username = 'greg' or
    username = 'Nth user';

Я думаю, что мы можем добавить только 30 слоев одновременно.Мне любопытно, будет ли эта операция выполняться параллельно (все операции выполняются одновременно) или каждая будет выполняться последовательно.

Спасибо

1 Ответ

2 голосов
/ 07 августа 2010

Можно сделать:

SELECT FROM users WHERE username IN ('bob', 'jane', 'greg', 'Nth user')

Для чистоты.Вот что Google говорит о ее влиянии на производительность:

Примечание. Операторы IN и! = Используют несколько запросов за кулисами.Например, оператор IN выполняет отдельный базовый запрос хранилища данных для каждого элемента в списке.Возвращенные объекты являются результатом перекрестного продукта всех базовых запросов к хранилищу данных и дедуплицируются.Для каждого отдельного запроса GQL допускается не более 30 запросов к хранилищу данных.

http://code.google.com/appengine/docs/python/datastore/gqlreference.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...