您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>其它程序>

oracle12c创建数据库实践分析

大小:0.2 MB 人气: 2017-09-28 需要积分:1

  为了选择最佳执行计划,优化器必须可以获得有代表性的统计信息。有代表性的统计数据不必是最新的,而是一组能够帮助优化器确定执行计划中每个操作所能返回的行数。

  自动统计信息收集任务

  Oracle会在预定义维护窗口期间 (工作日10pm 到2am 和周末6am 到2am )收集数据库中所有缺失统计信息或者统计信息过期对象的统计信息,您可以在Oracle企业管理器或使用DBMS_SCHEDULER和DBMS_AUTO_TASK_ADMIN软件包来更改维护窗口。

  oracle12c创建数据库实践分析

  图3 更改自动收集统计信息作业运行时间的维护窗口

  如果你已经有一个行之有效的统计收集程序,或者您想要禁用自动收集统计信息任务,您可以使用如下命令:

  begindbms_auto_task_admin.disable( client_name=》‘auto optimizer stats collection’, operation=》null, window_name=》null);end;/

  手工统计收集

  如果您打算手动维护优化器的统计信息,则需要确定何时去收集统计信息。基于过期的信息您可以决定什么时候统计信息应该被收集,您可以根据统计信息的失效性确定何时收集统计信息,就像自动作业一样,或者基于您的环境中新数据加载的时间。如果基本的数据没有明显变化,则不建议重新收集统计信息,因为这将不必要地浪费系统资源。

  如果数据仅在预先定义的 ETL 或 ELT 作业期间加载到您的环境中, 则可以将统计信息收集操作安排为此过程的一部分。

  在线收集统计信息

  在Oracle Database 12c中,在线收集统计信息”piggybacks”作为直接路径数据加载操作的一部分进行收集, 例如, 像使用CTAS的方式创建表,以及IAS方式插入数据。收集统计数据作为数据加载操作的一部分,这意味着不需要额外的全表扫描,就可以在加载数据后立即提供统计信息。

  oracle12c创建数据库实践分析

  图4 在线收集统计信息为新创建的sales2表提供表和列的统计信息收集

  在线收集统计信息并不会收集直方图和索引统计信息,因为这些种类的统计信息需要额外的数据扫描,这可能在数据加载时对性能产生较大影响。

  如果要收集直方图或者索引的统计信息,而不重新收集列的基本统计信息, 请使用DBMS_STATS.GATHER_TABLE_STATS中新的选择“OPTIONS”参数设置成GATHER AUTO。

  请注意,出于性能原因,GATHER AUTO在生成直方图时,使用行中的样本数据而不是表中的所有数据。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

oracle12c创建数据库实践分析下载

相关电子资料下载

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!