分享

请教检索mongodb效率很慢

vvv1211 发表于 2013-10-17 21:36:40 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 12 19532
strike2368168 发表于 2013-10-17 21:44:28

            不会.net,但是看了你的代码感觉有问题
你是获取所有数据后,自己在判断code每条数据是否包含“关键字”?
mongodb是有模糊查询的,你这样做肯定慢,并且你还排序了
还要看返回的结果集有多大,太大IO传输和前端展示也是要耗费时间的
        
回复

使用道具 举报

ling1212111 发表于 2013-10-17 21:45:16

            第一,关键字模糊查询肯定慢,无论 code 上是不是有索引,都是全表扫描,不走索引。
        
回复

使用道具 举报

norsd 发表于 2013-10-17 21:45:48

            在搜索 MongoDb 效率的时候进来了。
说下我发现的LZ的代码问题
LZ的代码是把 数据都拖到内存之后再进行逐一判断。
LZ的代码:
  var redata = (from item in coll.Linq().ToList()
               where ((string)item["code"]).Contains("关键字")
               orderby item["code"] ascending
               select item);
我认为:  from item in coll.Linq().ToList()
到这里应该已经把数据全部拖到内存里去了,所以很慢。
我不记得samus支持linq
LZ应该使用 samus中 mongoCollection 中Find函数,详细请参阅Samus的技术文档。
希望有帮助。
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条