150万以上ある Mongo のレコードに LIKE 検索したい時こうすると雲泥の差になった (1分以上かかってたのが 50ms 以下になった)。 ①インデックスを使う ($hint 指定しないと $regex の場合は使われないっぽい) ②パターンの頭に ^ を付ける ③パターンに .* を使わない ④パターンに () を使わない— tyru (@_tyru_) 2018年3月22日 控えめに150万件以上と言ったけど実際は190万件ぐらいだった。 以下の全てのクエリは 0 件を返す。 というか今見たら $and 使う必要はなかった。 // 89790ms db.getCollection('colName').find({$and: [{name: /(あああ)/}, {status: 1}]}) // 1361ms db.getCollection('colName').find({