MongoDB 验证命令(Validate Command)

验证命令(Validate Command)

使用这个命令来验证collection是否有效并且做多种分析。

这个命令会扫描整个collection和它的索引并且数据集较大的时候,这个过程是非常缓慢的。

MongoDB Shell执行:

> db.foo.validate()
{"ns" : "test.foo" , "result" : "validate  details: 08D03C9C ofs:963c9c  firstExtent:0:156800 ns:test.foo  lastExtent:0:156800 ns:test.foo  # extents:1  datasize?:144 nrecords?:3 lastExtentSize:2816  padding:1  first extent:    loc:0:156800 xnext:null xprev:null    ns:test.foo    size:2816 firstRecord:0:1568b0 lastRecord:0:156930  3 objects found, nobj:3  192 bytes data w/headers  144 bytes data wout/headers  deletedList: 0000000100000000000  deleted: n: 1 size: 2448  nIndexes:1    test.foo.$x_1 keys:3" , "ok" : 1 , "valid" : true , "lastExtentSize" : 2816}

从驱动调用的话,会执行如下语句:

> db.$cmd.findOne({validate:"foo" } );

validate 会有个scandata 参数 会跳过扫描基本的collection(但是仍然扫描索引).

> db.$cmd.findOne({validate:"foo", scandata:true});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值