Oracle10g中的hints调整机制详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle10g中的hints调整机制详解相关的知识,希望对你有一定的参考价值。

参考技术A

  以下的文章主要是对Oracle g <;数据库的相关内容的介绍 我们可以对其使用更多更新的optimizer hints来控制优化的相关行为 以下就是对Oracle g数据库的解析一下这些强大的新hints:

   spread_min_ *** ysis

  使用这一hint 你可以忽略一些关于如详细的关系依赖图分析等电子表格的编译时间优化规则 其他的一些优化 如创建过滤以有选择性的定位电子表格访问结构并限制修订规则等 得到了继续使用

  由于在规则数非常大的情况下 电子表格分析会很长 这一提示可以帮助我们减少由此产生的数以百小时计的编译时间

  例:

   SELECT /*+ SPREAD_MIN_ANALYSIS */

   spread_no_ *** ysis

  通过这一hint 可以使无电子表格分析成为可能 同样 使用这一hint可以忽略修订规则和过滤产生 如果存在一电子表格分析 编译时间可以被减少到最低程度

  例:

   SELECT /*+ SPREAD_NO_ANALYSIS */

   use_nl_with_index

  这项hint使CBO通过嵌套循环把特定的表格加入到另一原始行 只有在以下情况中 它才使用特定表格作为内部表格:如果没有指定标签 CBO必须可以使用一些标签 且这些标签至少有一个作为索引键值加入判断;反之 CBO必须能够使用至少有一个作为索引键值加入判断的标签

  例:

   SELECT /*+ USE_NL_WITH_INDEX (polrecpolrind) */

   CARDINALITY

  此hint定义了对由查询或查询部分返回的基数的评价 注意如果没有定义表格 基数是由整个查询所返回的总行数

  例:

   SELECT /*+ CARDINALITY ( [tablespec] card ) */

   SELECTIVITY

  此hint定义了对查询或查询部分选择性的评价 如果只定义了一个表格 选择性是在所定义表格里满足所有单一表格判断的行部分 如果定义了一系列表格 选择性是指在合并以任何顺序满足所有可用判断的全部表格后 所得结果中的行部分

  例:

   SELECT /*+ SELECTIVITY ( [tablespec] sel ) */

  然而 注意如果Oracle g的bhints CARDINALITY 和 SELECTIVITY都定义在同样的一批表格 二者都会被忽略

   no_use_nl

  Hint no_use_nl使CBO执行循环嵌套 通过把指定表格作为内部表格 把每个指定表格连接到另一原始行 通过这一hint 只有hash join和sort merge joins会为指定表格所考虑

  例:

   SELECT /*+ NO_USE_NL ( employees ) */

   no_use_merge

  此hint使CBO通过把指定表格作为内部表格的方式 拒绝sort merge把每个指定表格加入到另一原始行

  例:

   SELECT /*+ NO_USE_MERGE ( employees dept ) */

   no_use_hash

  此hint使CBO通过把指定表格作为内部表格的方式 拒绝hash joins把每个指定表格加入到另一原始行

  例:

   SELECT /*+ NO_USE_HASH ( employees dept ) */

   no_index_ffs

  此hint使CBO拒绝对指定表格的指定标签进行fast full index scan

   Syntax: /*+ NO_INDEX_FFS ( tablespecindexspec ) */

lishixinzhi/Article/program/Oracle/201311/17053

为什么机器学习算法难以优化?一文详解算法优化内部机制

点击上方“迈微AI研习社”,选择“星标★”公众号

重磅干货,第一时间送达

损失线性组合是正确的选择吗?这篇文章或许能够给你答案。

在机器学习中,损失的线性组合无处不在。虽然它们带有一些陷阱,但仍然被广泛用作标准方法。这些线性组合常常让算法难以调整。

在本文中,作者提出了以下论点:

  1. 机器学习中的许多问题应该被视为多目标问题,但目前并非如此;

  2. 「1」中的问题导致这些机器学习算法的超参数难以调整;

  3. 检测这些问题何时发生几乎是不可能的,因此很难解决这些问题。

有一些方法可以轻微缓解这些问题,并且不需要代码。

梯度下降被视为解决所有问题的一种方法。如果一种算法不能解决你的问题,那么就需要花费更多的时间调整超参数来解决问题。

损失的线性组合无处不在

尽管存在单目标的问题,但通常都会对这些目标进行额外的正则化。本文作者从整个机器学习领域选择了这样的优化目标。

首先来

以上是关于Oracle10g中的hints调整机制详解的主要内容,如果未能解决你的问题,请参考以下文章

myeclipse6.0 连接oracle10g的问题 ORA-00604,ORA-12705

ORA-12537: TNS: 连接关闭 救命啊 在一台机器上同时安装了oracle 8i 和 10g,现在想启动8i中的数据库

Oracle 10G DBCA ORA-03113 ORA-27102

ORA-00907: ORACLE 10G 中缺少右括号

在 oracle 10g 中出现错误 .. 错误:- ORA-00907:缺少右括号

Oracle10g安装过程中ORA-27125问题解决