0
python-cloudantで3つのセレクタを使用してデータベースにクエリを実行すると、クエリの実行に15秒かかります。制限を2にすると(下のコードを参照)、結果は非常に速く表示されますが、2の後にはかなり時間がかかります。現在、このデータベースには約190,000件の文書があります。私はこれをスピードアップできる何かを逃していますか?Python-cloudantのクエリ速度が遅いですか?
query = cloudant.query.Query(db,selector={'_id': {'$gt': 0},'userid':{'$eq':'56900'},'year':{'$eq':'[2011]'}},fields=['_id','userid','year'],sort=['_id'],limit=2)
for doc in query()['docs']:
print doc
(このクエリの目標は含まれていたユーザーIDからすべてのレコード「56900」「[2011]は、」年フィールドで取得し、_idによってそれらを並べ替えることです)
userIdフィールドにインデックスが設定されていますか?チャンスがない場合は、DBがすべてのドキュメントをフルスキャンするように強制しています。 – rhyshort
@rhyshort正しくない可能性があります。私は、次を追加しましたが、それは、クエリをスピードアップしません: "JSON:ユーザーID、今年" { "タイプ": "JSON"、 "DEF":{ "フィールド":[ { 「ユーザーID ":" asc " } { " year ":" asc " } – pynewb
クエリからフルスキャンを開始するiircを削除してみてください。{'$ gt':0}すべてのドキュメントには – rhyshort