• analyze()
    • 语法
    • 参数描述
    • 返回值
    • 版本信息
    • 示例

    analyze()

    语法

    db.analyze( [options] )

    分析集合和索引的数据,并收集统计信息。

    参数描述

    参数名参数类型描述是否必填
    optionsJson 对象设定 分析模式指定集合空间 以及 命令位置参数
    • Options 格式

    属性名描述约束格式Mode进行分析的模式,整数类型,(1-5):1:进行抽样分析,生成统计信息2:进行全量数据分析,生成统计信息3:生成默认的统计信息4:加载统计信息到缓存中5:清除缓存的统计信息默认值为 1Mode取 1 - 3 时,必须在主数据节点上执行Mode取 4,5 时,可以在备数据节点上执行Mode:1CollectionSpace指定需要分析的集合空间名称,字符串类型。默认值为空。不能与Collection同时使用CollectionSpace:"foo"Collection指定需要分析的集合名称,字符串类型。默认值为空。不能与CollecitonSpace同时使用必须是Collection的全名Collection:"foo.bar"Index指定需要分析的索引名称,字符串类型。默认值为空。如果指定该参数,需要指定Collection参数Index:"index"SampleNum指定抽样的数据个数,整数类型,范围为 100 - 10000 ,默认值为 200不能与SamplePercent同时使用SampleNum:1000SamplePercent指定抽样的比例,浮点数类型,范围为:0.0 - 100.0不能与SampleNum同时使用集合数据个数和比例的乘积为抽样的数据个数,自动调整在 100 - 10000 之间(小于 100 调整为 100,大于 10000 调整为 10000)缺省则不使用 SamplePercent,而选取 SampleNum 的默认值 200SamplePercent:50Location Elements命令位置参数项,详细见 命令位置参数GroupName:"db1"

    • 统计信息

    统计信息的具体描述可以参考统计信息一节。

    返回值

    无返回值,出错抛异常,并输出错误信息。可以通过 getLastErrObj() 或 getLastErrMsg() 获取错误信息 或 通过 getLastError() 获取错误码。该操作主要的异常如下:

    • SDB_DMS_CS_NOTEXIST(-34) 指定的集合空间不存在。
    • SDB_DMS_NOTEXIST(-23) 指定的集合不存在。
    • SDB_IXM_NOTEXIST(-47) 指定的索引不存在。
    • SDB_INVALIDARG(-6) 指定的参数可能存在冲突,请参考Options的约束。更多错误可以参考常见错误处理指南 。

    版本信息

    2.9及以上版本

    示例

    • 对全系统所有集合空间进行统计信息分析和收集
    1. > db.analyze()
    • 对指定集合空间"foo"进行统计信息分析和收集
    1. > db.analyze( { CollectionSpace : "foo" } )
    • 对指定数据组"group1"进行统计信息分析和收集
    1. > db.analyze( { GroupName : "group1" } )
    • 对指定集合"foo.bar"进行统计信息收集,并且指定Sample的数量
    1. > db.analyze( { Collection : "foo.bar", SampleNum : 1000 } )
    • 对指定集合"foo.bar"的索引"index"进行统计信息收集
    1. > db.analyze( { Collection : "foo.bar", Index : "index" } )
    • 对指定集合"foo.bar"生成清空统计信息缓存
    1. > db.analyze( { Collection : "foo.bar", Mode : 5 } )