Oracle 的 Hint 用法其实挺有门道的,用得巧,SQL 性能提升那是肉眼可见的效果。Hint 是写在 SQL 里的特殊注释,能告诉优化器你想怎么走查询计划的捷径。比如你想让它走全表扫描、索引升序、还是索引组合,全都能安排上。是像/*+ALL_ROWS*/
和/*+FIRST_ROWS*/
这种,分别适合吞吐量优先还是响应速度优先的场景。
我自己比较常用的是/*+INDEX(TABLE INDEX_NAME)*/
,想让它走哪个索引就走哪个,在写复杂查询的时候,控制住执行路径能省不少事。
还有个提醒,Hint 虽然好用,但别用太猛,过度依赖反而不好维护。而且一定要在测试环境先跑一圈,看看有没有副作用。
如果你平时跟 Oracle 打交道比较多,这份 Hint 技巧集合真挺值的,直接拿去用或者参考着改都不错。链接我也一并放下面了,有需要的自己戳。