深圳市网站首页,网站建设平台价格,免费的外贸销售平台有哪些,数码网站建设论文1、查看执行计划
EXPLAIN PLAN FOR SELECT * FROM temp_1 a ; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
2、执行计划说明
2.1、执行顺序
根据缩进来判断#xff0c;缩进最多的最先执行#xff1b;#xff08;缩进相同时#xff0c;最上面的最先执行#xff09;
2.2…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常实现唯一性扫描每次至多只返回一条记录INDEX RANGE SCAN索引范围扫描在唯一索引列上使用了范围操作符如 between在组合索引上只使用部分列进行查询查询时必须包含前导列否则会走全表扫描对非唯一索引列上进行的任何查询INDEX FULL SCAN索引全扫描它依赖数据库对象的统计信息统计信息的准确与否会影响CBO做出最优的选择INDEX FAST FULL SCAN索引快速扫描与 INDEX FULL SCAN 类似但是一个显著的区别是它不对查询出的数据进行排序INDEX SKIP SCAN索引跳跃扫描表有一个复合索引且在查询时有除了前导列索引中第一列外的其他列作为条件并且优化器模式为CBO时当Oracle发现前导列的唯一值个数很少时会将每个唯一值都作为常规扫描的入口在此基础上做一次查找最后合并这些查询
2.2.3、TABLE ACCESS BY ROWID通过ROWID的表存取
行的ROWID指出了该行所在的数据文件、数据块以及行在该块中的位置所以通过ROWID可以快速定位到目标数据上这也是Oracle中存取单行数据最快的方法
2.3、表连接方式
表连接方式说明SORT MERGE JOIN排序-合并连接表无驱动顺序排序-合并连接适用的连接条件有” “不适用的连接条件有” like“NESTED LOOPS嵌套循环嵌套循环的表有驱动顺序注意选择合适的驱动表。其好处是可以先返回已经连接的行而不必等所有的连接操作处理完才返回数据这样可以实现快速响应HASH JOIN哈希连接哈希连接只适用于等值连接即连接条件为 CARTESIAN PRODUCT笛卡尔积笛卡尔乘积是一个表的每一行依次与另一个表中的所有行匹配