WEB开发网
开发学院数据库Oracle Oracle 10g中新的SQL optimizer hints 阅读

Oracle 10g中新的SQL optimizer hints

 2007-05-10 12:20:48 来源:WEB开发网   
核心提示: 此hint定义了对查询或查询部分选择性的评价,如果只定义了一个表格,Oracle 10g中新的SQL optimizer hints(2),选择性是在所定义表格里满足所有单一表格判断的行部分,如果定义了一系列表格,例如:SELECT /*+ NO_USE_HASH ( employees

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

例如:

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

然而,注意如果hints 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 ) */

no_index_ss

此hint使CBO拒绝对指定表格的指定标签进行skip scan。

Syntax: /*+ NO_INDEX_SS (tablespecindexspec ) */

no_star_transformation

此hint使CBO忽略star 询问信息。

Syntax: /*+ NO_STAR_TRANSFORMATION */

Tags:Oracle 中新 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接