1、查看执行计划
EXPLAIN PLAN FOR SELECT * FROM temp_1 a ;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
2、执行计划说明
2.1、执行顺序
根据缩进来判断,缩进最多的最先执行;(缩进相同时,最上面的最先执行)
2.2、常见表访问方式
2.2.1、TABLE ACCESS FULL(全表扫描)
Oracle会读取表中所有的行,并检查每一行是否满足SQL语句中的 Where 限制条件;
全表扫描时可以使用多块读(即一次I/O读取多块数据块)操作,提升吞吐量;
使用建议:数据量太大的表不建议使用全表扫描,除非本身需要取出的数据较多,占到表数据总量的 5% ~ 10% 或以上
2.2.2、TABLE ACCESS BY INDEX SCAN(索引扫描)
索引扫描方式 | 说明 |
---|---|
INDEX UNIQUE SCAN(索引唯一扫描) | 表中某字段存在 UNIQUE、PRIMARY KEY 约束时,Oracle常实现唯一性扫描,每次至多只返回一条记录 |