暂无图片
hint是强制走索引吗
我来答
分享
秦朝阳
2021-09-30
hint是强制走索引吗

hint是强制走索引吗

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
JiekeXu
暂无图片

HINT 不全是强制走索引的,HINT 可以理解为强制,当关键字是索引相关的,那么就是强制走索引,当关键字是其他的,例如 use_hash 则是强制使用 hash 连接。

/*+USE_HASH(TABLE)*/  将指定的表与其他行源通过哈希连接方式连接起来.
例如:
SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

/*+USE_NL(TABLE)*/
将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.
例如:
SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM FROM BSEMPMS,BSDPTMS WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;


可以试试赵老师的每日一题 测试题

https://www.modb.pro/test/20210930

暂无图片 评论
暂无图片 有用 1
暂无图片
薛晓刚

暂无图片 评论
暂无图片 有用 0
秦朝阳

感谢各位大佬解答

暂无图片 评论
暂无图片 有用 0
广州_老虎刘

full 的hint一定会走全表扫描, 但是index 的hint 可就不一样会使用索引, 要看你的sql是不是具备了走索引的条件. 如果你用了index hint, 语法也没错, 但是没有使用, 那就是不满足走索引的条件, 走索引可能导致sql返回错误的结果集.

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏