私はMongoDBとのインターフェースにREST APIサーバーとしてEveを使用しています。Eve(Python)はフィルタリングされたクエリを返すのに時間がかかりますが、フィルタリングされていないクエリは素早く処理できますか?
実行中: GET /year_origin_destination_hs07_4?where={}
はほぼ瞬間的です(33Mアイテムのコレクションの最初のページを返します)。
対照的に、実行中:GET /year_origin_destination_hs07_4?where={"origin": "chn"}
は、戻るまでに約18秒かかります(956kアイテムの最初のページ)。
これはなぜをとっているのか説明できますか?? MongoDBでのこの接続のフィルタリングにはほとんど時間がかかりません。
のMongoDB例:OPTIMIZE_PAGINATION_FOR_SPEED
:ページ分割結果を返すdb.year_origin_destination_hs07_4.find({origin: "chn"})
< 1S