Oracle性能优化学习笔记之选择最有效率的表名顺序
2023-09-14 09:02:10 时间
选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FR
选择最有效率的表名顺序(只在基于规则的优化器中有效)
例如:
本文摘自百度文库,具体链接木有找到,抱歉。
选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FR
选择最有效率的表名顺序(只在基于规则的优化器中有效)
ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派序,然后扫描第二个表(FROM子句中最后第二个表),最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并.
例如:
表 TAB1:16,384 条记录、表 TAB2:1 条记录
选择TAB2作为基础表 (最好的方法):执行时间0.96秒
select count(*) from tab1,tab2选择TAB2作为基础表 (不佳的方法):执行时间26.09秒
select count(*) from tab2,tab1如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.
例如:
EMP表描述了LOCATION表和CATEGORY表的交集.
SELECT * FROM LOCATION L , CATEGORY C, EMP E WHERE E.EMP_NO BETWEEN 1000 AND 2000 AND E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN将比下列SQL更有效率:
SELECT * FROM EMP E , LOCATION L , CATEGORY C WHERE E.CAT_NO = C.CAT_NO AND E.LOCN = L.LOCN AND E.EMP_NO BETWEEN 1000 AND 2000小注:
本文摘自百度文库,具体链接木有找到,抱歉。
选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个表(FR
相关文章
- Oracle数据库ORA-12154: TNS: 无法解析指定的连接标识符详解
- 【性能优化】ORACLE数据库性能优化概述
- 【性能优化】Oracle直方图解析
- oracle数据库表空间扩容方法
- windows下python连接oracle数据库
- hibernate+oracle+servlet实现插入数据的时候,不立马显示!!
- ORACLE绑定变量隐式转换导致性能问题
- ORACLE——重做日志文件管理
- Oracle RAC CRS-0184 --Cannot communicate with the CRS daemon
- Oracle中索引的使用 索引性能优化调整
- oracle 数据库连接
- Oracle-OSW性能监控工具
- Oracle性能优化学习笔记之选择最有效率的表名顺序
- [转] 32位 PL/SQL Develope r如何连接64位的Oracle 图解
- Oracle中SQL的性能优化
- 【项目实战】如何在关系型数据库(Oracle、MySQL)中创建定时任务
- 柯南君 :Oracle 分区技术 之 怎样支撑大数据操作?
- Mysql和Oracle的区别
- Linux7下安装oracle 12c
- Oracle 19c big_table的创建
- How to Enable Oracle Enterprise Manager Express 19c
- 【ORACLE性能分析和优化思路学习笔记01:为什么会出现数据库的性能问题】
- 【Mysql异构实时同步Oracle】OGG12异构同步mysql到oracle(windows mysql实时同步数据到linux oracle)详细文档