access查询设计sol视图_关于HINT的一些总结--子查询应用范围和HINT失效原因总结...

本文介绍了HINT的分类,包括初始化参数、查询转化、访问路径等,并探讨了子查询的应用范围和HINT可能失效的原因,如算法不支持、矛盾的Hint、执行错误等。通过实例分析,帮助读者理解并掌握HINT的正确使用。
摘要由CSDN通过智能技术生成

概述

本来是不太想写HINT这篇的,毕竟比较乱,最后想了想还是写了,当做笔记记录在这吧,大家凑合看下咯。


hint的分类

主要分成初始化参数hint,查询转化hint,访问路径hint,连接提示hint,并行处理hint和其他hint

a9c92ab2995c493c8519ca6b16b77205.png

子查询应用范围

简单的 SOL 语句只有一个单独的查询块。当使用视图或类似子查询、内联视图、集合操作 符等结构时, 就会出现多个查询块(比如下面这个例子的查询就有两个查询块,第一个是引用了 dept 表的主查询,第二个是引用了 emp 表的子查询)。

上面总结了 hint的分类,除了第一类初始化参数 hint 外, 所有其他的hint都是仅针对单个查询块起作用。下面来看如何让各个模块的 HINT 生效的各种方法。

1、环境准备:

drop table emp purge;create table emp as select * from scott.emp;create index idx_emp_deptno on emp(deptno);create index idx_emp_empno on emp(empno);drop table dept purge;create table dept as select * from scott.dept;create index idx_dept_deptno on dept(deptno);
635e7b4ff106ad74764d6ac0367c2348.png

2、查看执行计划

set linesize 200set pagesize 500set autotrace traceonlywith emps as (select deptno,count(*) as cnt from emp where empno in (7369,7782,7499) group by deptno) select dept.dname,emps.cnt from dept,emps where dept.deptno=emps.deptno; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值