需要先学会看执行计划
nested loop嵌套循环
table Access full 全表扫码
merge join cartesian 笛卡尔积连接
hints
指定优化器模式的hint
RULE
CHOOSE
FIRST_ROW
ALL_ROWS 基于代价的方式进行优化,优化目标是最大吞吐量
指定访问路径的hint
/*+ ordered */
/*+ lending()*/
use_hash(table name or alias)
ordered full(table name or alias)
parallel(table name or alias)
oracle hints都有哪些,都是什么功能
|
Oracle Hints是在SQL查询中指定的一个特殊备注,可以用来影响 Oracle 数据库SQL执行的方式。它们可以改变查询优化器的行为,以帮助优化直询的性能。 | |
|
以下是一些常见的 Oracle Hints! |
|
|
1./*+ INDEX (index_name) */:指示 Oracle 使用指定的索引执行查询。 |
|
|
2./*+ FULL(table_name) */:强制 Oracle执行全表扫描。 |
|
|
3./*+ USE_HASH (table_name) */:指示 Oracle 使用哈希连接执行查询。 |
|
|
4./*+ORDERED M/:强制 Oracle 按照查询中所列出的顺序执行真间,而不尝试更新排序。 |
|
|
5.1+ ALL_ROWS:优化器尝试返回最小的全数据集,这通常意味着便用选择性低的索引。 |
|
|
6./*+FIRST_ROWS(n)”/:优化器尝试优化查询以返回前N行。 |
|
|
7./*+ NO_INDEX*/:强制 Oracle 不使用任何索引执行查询。 |
|
|
8./*+ LEADING(table_name)*/:指示 Oracle 将指定的表(table_name)放置在执行计划中的前面。 |
|
|
9./*+ NO_MERGE */:强制 Oracle 不合并两个或更多索引访问路径。 |
|
|
这些 Oracle Hints 可以让开发人员有更多的控制力来优化查间性能。 | |
OracleHints是一种在SQL查询中指导优化器选择特定执行路径的技术,包括INDEX用于指定索引,FULL用于全表扫描,USE_HASH进行哈希连接,以及ORDERED、ALL_ROWS和FIRST_ROWS等优化目标。这些提示可以帮助优化查询性能。
522

被折叠的 条评论
为什么被折叠?



