ORACLE数据库的统计数据及其生成方式

ORACLE数据库的统计数据及其生成方式,第1张

ORACLE数据库的统计数据及其生成方式,第2张

ORACLE数据库PL/SQL语句执行优化器包括基于成本的优化器(CBO)和基于规则的优化器(RBO)。
RBO的优化方法依赖于一套严格的语法规则。只要按照规则写的语句,无论数据表和索引的内容有没有变化,都不会影响PL/SQL语句的“执行计划”。
CBO从Oracle版本7开始引入,ORACLE从版本7开始采用的很多新技术都只是基于CBO,比如星型连接查询、哈希连接查询、倒排索引、索引表、分区表、并行查询等。O CBB计算各种可能的“执行方案”的“成本”,即成本,选择成本最低的方案作为实际操作方案。每个“执行计划”的成本的计算依据取决于数据表中数据的统计分布,这在ORACLE数据库本身是不清楚的。只有通过分析表格和相关索引,才能收集到CBO所需的数据。
CBO是ORACLE推荐的一种优化方法。要想用好CBO,让SQL语句有效,必须保证统计数据的时效性。
统计信息可以通过完全计算法和抽样估计法生成。SQL的例子如下:
完整计算方法:分析表ABC计算统计;
抽样估计法(抽样20%):分析表ABC估计统计抽样20%;
完成表格计算所花费的时间相当于扫描整个表格。由于采用抽样,抽样估计法在生成统计数据时比完全计算法更快。如果不需要准确的数据,应尽可能采用抽样分析方法。建议表格分析采用抽样估计,指标分析采用完全计算。
我们可以使用以下两种方法定期分析数据库的表、索引和簇表,生成统计信息,保证应用程序的正常性能。

1.在系统中设置计划任务并执行分析脚本。

  在数据库服务器端,我们以UNIX用户oracle,运行脚本analyze,在analyze中,我们生成待执行sql脚本,并运行。(假设我们要分析scott用户下的所有表和索引)
Analyze脚本内容如下:
sqlplus scott/tiger

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » ORACLE数据库的统计数据及其生成方式

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情