mongodbでの$ nin操作の最適化



Optimization Nin Operation Mongodb



私のビジネスに関する限り、削除することですnull and ''、次のように書くことができます:

urlQuery.append('ir_urlcontent', new BasicDBObject('$gt', ''))

どちらを使用するか$gt:''



私は効果が同じであることをテストしました:

画像



もちろん、ビジネスシナリオが$nin:['foo','yutao']の場合、このような特定の文字を指定する方法はありません。

使用$gt:''、除外に適していますnull and ''

パフォーマンス :実際に使用$gt:''後で、想像したほど速くはありませんでした。私のビジネスに関する限り、720,000データは、合計を取得するためにクエリを実行するときにも必要です2 to 4 seconds、使用するよりも$ninまあ、後者は直接リクエストのタイムアウトです。



画像

しかし、私はサンドボックス環境、つまりキャッシュを備えた正式な環境にいます。

参照アドレス:

https://docs.mongodb.com/manual/reference/operator/query/nin/