import org.bson.types.ObjectId;
class CountryInfo {
ObjectId id
long ipFrom
long ipTo
String countryCode
String countryName
String regionName
String cityName
static constraints = {
countryName index:true
}
}
以上可能是域名。
我已经在countryName
上创建了一个索引但是当我查询找到它时,我认为它不使用索引
例如在mongo shell中
db.CountryInfo.find({countryName:"CANADA"}).limit(57000).explain();
{
"cursor" : "BtreeCursor countryName_1",
"isMultiKey" : false,
"n" : 57000,
"nscannedObjects" : 57000,
"nscanned" : 57000,
"nscannedObjectsAllPlans" : 57000,
"nscannedAllPlans" : 57000,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 3,
"nChunkSkips" : 0,
"millis" : 2577,
"indexBounds" : {
"countryName" : [
[
"CANADA",
"CANADA"
]
]
},
"server" : "User"
}
db.CountryInfo.count()
1860189
但是在grails中需要花费太多时间。
我认为grails没有使用索引。任何提高发现速度的解决方案?