Я на самом деле работаю в проекте поисковой системы.
Мы работаем с python + mongoDb.
У меня следующая проблема:
У меня есть курсор-пимонго после выполнения команды find () в db монго.
Курсор Pymongo имеет около 20 000 результатов.
Я заметил, что итерация над курсором pymongo действительно медленная по сравнению с обычной итерацией, например, списка того же размера.
Я сделал небольшой тест:
-терация по списку из 20 тыс. Строк: 0,001492 секунды
-терация над курсором-пимонго с результатами 20 КБ: 1,445343 секунды
Разница действительно большая. Возможно, это не проблема с таким количеством результатов, но если у меня будут миллионы результатов, время будет неприемлемым.
Кто-нибудь получил представление о том, почему курсоры пимонго слишком медленны для итерации?
Любая идея о том, как я могу перебрать курсор за меньшее время?
Дополнительная информация:
- Python v2.6
- PyMongo v1.9
- MongoDB v1.6 32 бита