У меня есть база данных Mongolab, содержащая коллекцию документов небольших временных рядов.
Каждый документ содержит срез определенного временного ряда (250 дневных значений цен для определенной акции в каждом документе). Коллекция индексируется в поле запроса.
Мне нужно запросить все срезы, связанные с одной конкретной акцией, например:
cursor = db.timeseries.find({'stock':'IBM'}) # this line executes in very small time
slices = [slice for slice in cursor] # this line takes 10 seconds
# to give an idea, cursor.count() could be anywhere between 10 and 40
Если я запускаю этот код в интерпретаторе Python, он завершается менее чем за 300 мс.
Если я запускаю тот же код в той же базе данных в Flask, работающем локально, это занимает 10 секунд (!!!). Проблема заключается не в выборе данных с помощью find(), который отлично работает, а в запросе всех данных обратно.
Примечательно, что если я подключаю локальное приложение Flask к локальной базе данных mongodb, оно работает нормально.
Я не нашел подобной проблемы, связанной с Flask, упомянутой в Интернете. Любые подсказки?
app.config['MONGO_URI'] = 'mongodb://<username>:<password>@dsxxxxxx.mongolab.com:55802/<dbname>'- person Pythonic   schedule 08.09.201550.19.86.168вместоdsxxxxxx.mongolab.com. Разрешение IP может занять много времени. - person all or None   schedule 08.09.2015