、それはその後、合計インデックスは(db.Location.totalIndexSize()
を使用することにより)23628640すなわちMongoDBのensureIndex
私のクエリは実行に時間がかかります。
(-180,180)の間でインデックスを作成するにはどうすればよいですか?助けてください
db.Location.ensureIndex({loc:"2d",type:1,clientId:1,background:true},{min:-140,max:3320000})
、それはその後、合計インデックスは(db.Location.totalIndexSize()
を使用することにより)23628640すなわちMongoDBのensureIndex
私のクエリは実行に時間がかかります。
(-180,180)の間でインデックスを作成するにはどうすればよいですか?助けてください
db.Location.ensureIndex({loc:"2d",type:1,clientId:1,background:true},{min:-140,max:3320000})
私はあなたの構文が間違っていると思います。あなたはおそらくしたい:
db.Location.ensureIndex({loc:"2d",type:1,clientId:1}, {background:true})
minとmaxオプションは、-180と180オプションで、デフォルトですあなたがその範囲の外にある任意のオブジェクトを持っていますか?取得したエラーとサンプルオブジェクトを確認すると便利です。
部分インデックスの機能があるかどうか尋ねられますか(特定の範囲の値のみをインデックスする)ですか?私は思っていません。たとえBツリーが動作する方法があっても、それはもっと速くなりません(インデックスを小さくするだけです)ので、インデックスが大きいのでクエリが長くかかるとは思わない。 – Thilo
私は部分的なインデックス作成を求めていませんが、なぜ私のインデックス作成範囲が非常に高くなっているのかを尋ねています。(-180,180) – swati