以下に基づいていくつかの値を出力している pymongo を使用したクエリがあります。
cursor = db.collect.find({"index_field":{"$regex":'\s'}}
for document in cursor:
print document["_id"]
予想どおり、このクエリは長時間 (5 億以上のドキュメント) 実行されています。おそらく、最後に印刷された「_id」がインデックス付きフィールドのどこにあるかを調べることで、クエリが実行されている場所を確認する方法があるかどうか疑問に思っていました。最後に印刷された _id は btree インデックスの途中ですか? 終わりに近いですか?
これを知りたいのは、クエリをキャンセルして再最適化するか、終了させる必要があるかどうかを確認するためだけですが、_id がクエリのどこに存在するかを知る方法がありません。
また、誰かが私の空白クエリを最適化する方法を持っている場合、それは役に立ちます。ドキュメントに基づいて、空白のチェックには意味がありませんが、ignorecaseを使用した方が高速になるようです。
どうもありがとう、J