如何提高数据库查找速度grails mongodb

时间:2014-01-07 13:00:44

标签: mongodb grails

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没有使用索引。任何提高发现速度的解决方案?

0 个答案:

没有答案