oracle语法分析表,Oracle表分析

在CBO优化器的Oracle数据库中,定期分析表、索引以获取最新统计信息至关重要。分析可更新统计资料,影响执行计划。文章介绍了analyze语句和dbms_stats包的使用方法,包括全量分析、抽样分析、索引重建等,强调了分析对执行计划的影响及优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表、索引等方案的分析

为什么要分析?

在一个采用基于CBO优化器的数据库中,为了选择更加的理想的执行计划。必须定时的对表、索引等方案进行分析。因为在对表进行大量的DML操作之后,索引等结构上可能会发生变化。而CBO优化器执行的基础就是数据库中的统计资料,获得最新、最完善的统计资料的方式就是对表、索引等的分析。

对表和对索引进行分析完之后,在DBA_tables 视图中,以前很多列值是空的,现在开始有数据了。

在一个使用CBO优化器的数据库中,必须定期对表、索引等方案进行分析。需要注意的是,并不是分析之后,查询的速度一定会变快。因为对表的统计信息进行更新之后,有可能导致执行计划的改变,也就有可能导致执行计划变的更慢。个人认为每次分析表之后都得实时抓却awr报告,观察系统运行变化。

分析表的方式

1、语句方式:analyze table  compute statistics for table||for all columns||for all indexed columns;

--查看表的统计信息(我们在analyze table命令中指定了for table或者不指定任何参数的时候,oracle数据库才会给我们统计基于表的统计信息)

analyze table  compute statistics for table

--查看字段的统计信息(在指定for all columns 和不指定任何参数的时候oracle会给所有字段做统计信息,在指定for indexed columns时,oracle只给有索引的字段进行字段信息统计,如果我们别有必要给所有字段统计信息时,这个属性就很有用了)

analyze table  compute statistics for all columns

--查看索引的统计信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值