开发者社区> 问答> 正文

Why so many getmore operations in mongodb when use mongo_fdw?

lifubang 2016-09-22 10:21:48 1791

发帖怎么这么麻烦,编辑10次了,也没成功。
我们线上业务使用pg + mongo,使用mongo_fdw从pg访问mongo。
有这么一个外部表"wb_Cands",对应mongo中的Cands表。
我们有一个业务,就是通过客户id找到对应自己的一条记录: s e l e c t * f r o m "wb_Cands" w h e r e id = 123445;
id字段在mongodb中有索引,且并发量大概几十个。
业务运行时发现,mongo出口流量特别高,但是query个数特别少,cpu占用也低。通过查询mongo日志,发现,每个上述sql执行后,都会伴随一个对Cands表的全表扫描,并getmore获取全表数据,我在业务逻辑中从来没有对Cands表有全表扫描的逻辑。

各位大牛有解决办法吗,占了好几百兆的mongo出口流量啊?

这个发帖框有问题,我发点日志,就说我攻击,这个帖子我已经发了5次了,每次说攻击,回去后又得重写内容。
具体见github吧。
https://github.com/EnterpriseDB/mongo_fdw/issues/63

SQL NoSQL 关系型数据库 MongoDB 计算机视觉 索引
分享到
取消 提交回答
全部回答(2)
  • lifubang
    2019-07-17 20:11:14

    explainverbose


    e1


    Foreign Scan on public."wb_Cands_Writeable" (cost=0.00..0.00 rows=1000 width=4)
    Output: "confirmState"
    Filter: ("wb_Cands_Writeable".id = 4392325::bigint)
    Foreign Namespace: hello-world.Cands


    Foreign Scan on public . "wb_Cands_Writeable" (cost=0.00..0.00 rows=1000 width=4)
    Output: "confirmState"
    Filter: ("wb_Cands_Writeable" . id = 4392325::bigint)
    Foreign Namespace: hello-world . Cands


    e1

    0 0
  • 德哥
    2019-07-17 20:11:14

    explain verbose s e l e c t * f r o m "wb_Cands" w h e r e id = 123445;
    看看remote query是什么

    0 0
添加回答
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题
推荐课程