OracleHint(提⽰)和INDEX(索引)的⼀些忠告Oracle的hint种类繁多,⼤致可以分为下⾯⼏类:
优化⽅式和⽬标:如RULE、CHOOSE、FIRST_ROWS、ALL_ROWS等。
访问路径:如INDEX、FULL、CLUSTER、INDEX_FFS等。
查询转换:如MERGE、USE_CONCAT、NO_EXPAND等。
连接顺序:如LEADING、ORDERED、STAR等。
乡间的小路
连接操作:如USE_NL、USE_HASH、USE_MERGE等。
并⾏执⾏:如PARALLE、NOPARALLEL、PARALLEL_INDEX等。
露寒其他类型;如APPEND、UNNEST、CACHE等。
INDEX只是Hint的⼀类。
心态的力量
Hint是把双刃剑,甚⾄是颗炸弹。
对于DB设计者、SQL制作者、DBA在优化SQL时,存在以下效率的⾼低:
跳绳怎么跳
看家
追加约束条件 > 调整SQL逻辑 > 设计INDEX > 加⼊Hint
白娜白波
⽽且越后⾯的风险也越⼤。
因为开发环境、测试环境、最终客户环境的数据量、数据库版本、硬件等等总会有不同;
⽽Hint是强制执⾏的(⾃动忽略错误Hint语句),权益投资
就会产⽣在某处⾼效的Hint,在另⼀处却⾮常耗费资源。为什么月经会推迟
如果不是可以在最终客户环境上操作的DBA,最好不要写Hint,
只要做好INDEX,
Oracle的⾃动优化⼀定会⽤。