达梦数据库,利用DBMS_STATS收集统计信息

博客介绍需求场景为收集模式DMHR模式下EMPLOYEE表的统计信息并打印表信息,使用GATHER_SCHEMA_STATS方法,还提及执行语句和打印结果,聚焦数据库表统计信息收集。

需求场景:收集模式DMHR模式下EMPLOYEE表的统计信息,并打印收集的表信息。

使用方法:GATHER_SCHEMA_STATS

执行语句:

打印结果

 

达梦数据库中的GATHER_SCHEMA_STATS过程用于收集指定模式中所有表的统计信息,以便优化器能够生成高效的执行计划。该过程的一个重要参数是`ESTIMATE_PERCENT`,它决定了采样行的百分比。以下是一些常用的参数及其说明: 1. **ESTIMATE_PERCENT**: - **说明**: 指定采样行的百分比。默认值为100,即全表扫描。 - **示例**: `ESTIMATE_PERCENT => 50`表示只采样50%的数据。 2. **CASCADE**: - **说明**: 是否同时收集索引的统计信息。默认值为TRUE。 - **示例**: `CASCADE => FALSE`表示不收集索引的统计信息。 3. **NO_INVALIDATE**: - **说明**: 是否使依赖的游标失效。默认值为DBMS_STATS.AUTO_INVALIDATE。 - **示例**: `NO_INVALIDATE => FALSE`表示立即使依赖的游标失效。 4. **GRANULARITY**: - **说明**: 指定收集统计信息的粒度。常用的值有'AUTO'、'GLOBAL'、'PARTITION'等。 - **示例**: `GRANULARITY => 'AUTO'`表示自动选择合适的粒度。 5. **OPTIONS**: - **说明**: 用于传递其他选项的哈希表。 - **示例**: `OPTIONS => 'STATISTICS_LEVEL=ALL'`表示收集所有级别的统计信息。 以下是一个使用GATHER_SCHEMA_STATS过程的示例: ```sql BEGIN DBMS_STATS.GATHER_SCHEMA_STATS( ownname => 'SCOTT', estimate_percent => 50, cascade => TRUE, no_invalidate => FALSE, granularity => 'AUTO', options => 'GATHER AUTO' ); END; ``` 在这个示例中,统计信息收集模式`SCOTT`中的所有表,采样50%的数据,同时收集索引的统计信息,并使依赖的游标失效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值