Сколько стоит запрос всей базы данных на MongoDB? - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть коллекция, которая содержит пользовательские объекты, каждый с уникальным идентификатором и некоторые другие вещи.Эта коллекция может содержать миллионы записей.У меня вопрос, насколько дорогой будет запрос, который берет список, скажем, 300 UIDS, а затем проверяет, какие из них существуют в коллекции?

1 Ответ

0 голосов
/ 30 декабря 2010

Я думаю, что этот вопрос состоит из двух частей: № 1: запрос, № 2: производительность.

1: запрос

Это может быть легкосделано с использованием $in предложения .

2: производительность

В предложении $in имеется только один логический способ сделать это с точки зрения БД.По сути, он будет выполнять поиск по одному индексу для каждого элемента, который у вас есть.

Теперь, если вы следуете стандартному протоколу и сохраняете весь свой индекс в ОЗУ, то этот запрос, вероятно, будет выполнен менее чем за секунду.У меня есть несколько мощных серверов с сотнями миллионов, и такой поиск для 100 «UIDS» возвращается примерно через 500 мс.

YMMV.Вы можете повысить производительность, разделив ее на части и выполнив несколько одновременных запросов, просто чтобы убедиться, что на сервере работают несколько потоков.

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