sql >> データベース >  >> NoSQL >> MongoDB

Mongodb 2.4 2dsphereクエリは非常に遅い($ geoIntersectsを使用)?

    ログ内のクエリは、実行したクエリと一致しません。場所が異なります:

    [ 116.3426399230957, 39.95959281921387 ] vs.
    [ 116.3175773620605, 39.97607231140137 ]

    また、areaに言及しているだけなので、ログ行全体を再現したとは思いません。 deliver_areaではありません 。

    ただし、本当に遅いではありません。 。最初のケースでは、103ミリ秒かかりました。これは、サーバーが他のIOを実行しているときに発生する場合があります。 2番目のクエリはexplain()として5msかかりました 出力からわかります。

    しかし、最も印象的なのは、主な基準がid: 59であるということです。 。あなたの_idが何なのかわかりません フィールドはですが、idにインデックスを設定した場合 そうすれば、これは2dsphereを使用する必要さえありません。 インデックスを作成する—もちろん、id=59のドキュメントが多数ある場合を除きます。 。その場合は、{ id: 1, deliver_area: '2dsphere' }の複合キーを使用したほうがよい場合があります。 。




    1. 空の角かっこは、JavaScriptで変数値として何を表しますか?

    2. Mongo接続プール(接続プールのサイズを変更する)

    3. MongoDB + Java:ユーザードキュメントにクレデンシャルがありません

    4. 条件付きのMongodb集計ルックアップ