Oracle 常用 Hint 收集

Oracle 基于代价的优化器在绝大多数情况下能选择正确的优化器,但有时需要人工干预使语句更高效地运行,Hint 是 Oracle 提供的一种 SQL 语法,它允许用户在 SQL 语句中插入相关的语法,用来告诉优化器按照指定的方式生成执行计划。

开发人员尽量不要使用 Hint,只有知道表中数据的实际情况才能获得最优的执行计划,当自动生成的执行计划不好时,应优先考虑 SQL 改写、检查统计信息和索引结构等,最后仍然不能按优化的方式执行时才考虑Hint。

指定索引

-- 语法
/*+INDEX(TABLE_NAME INDEX_NAME)*/

-- 例如:
SELECT /*+INDEX(T IDX_NAME) */ * FROM T_USER T WHERE T.NAME='hiwzc';