`
longzhun
  • 浏览: 371925 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle左连接的两种写法的差异

阅读更多

有两个表T1T2,两个表除了主键索引外均无其他索引,这两个表由T1.F1(主键)T2.F2(主键)进行左连接SQL 句有两种写法:
1. SELECT * FROM T1,T2 WHERE T1.F1=T2.F2(+)
2. SELECT * FROM T1 LEFT JOIN T2 ON T1.F1=T2.F2

当查看1的执行计划时发现T1为全表扫描,T2为索引扫描。
当查看 2的执行计划时发现两个表均为全表扫描。

原来前者选择的优化器是RULE,而后者选择的优化器是CBOALL ROWS

分享到:
评论

相关推荐

    Oracle 左连接(+)加号用法及常用语法之间的关系

    这两种写法都是无效的,因为WHERE子句中的条件与ON子句中的条件重复,这在LEFT JOIN中会导致错误的结果,而在INNER JOIN中则与不带WHERE的写法等效。 6. 关于INNER JOIN的提示: 对于INNER JOIN,无论是在ON子句...

    Oracle升迁至MySQL差异检查单

    MYSQL和oracle的差异,详细描述了两种数据库从创建到增删改查,到数据处理,以及不同命令的写法差异,结合实际项目可以快速区分两种数据库的不同

    mysql与oracle差异总结

    MySql 中有三种注释方式,而 Oracle 只有两种。 10. 字符函数 MySql 中的 DATE_FORMAT 函数相当于 Oracle 中的 TO_CHAR 函数。MySql 中的 STR_TO_DATE 函数相当于 Oracle 中的 TO_DATE 函数。 11. 回车符、换行符...

    从两种SQL表连接写法来了解过去

    在SQL查询中,表连接是将两个或多个表的数据结合在一起的关键操作,通常用于获取来自不同表的相关数据。本文将探讨两种主要的...了解这两种写法的历史背景和各自特点,有助于我们在编写SQL查询时做出更为明智的选择。

    常用数据库JDBC连接写法

    Microsoft SQL Server有两种JDBC驱动,一种来自`jtds`项目,另一种来自Microsoft官方。对于`jtds`,加载`net.sourceforge.jtds.jdbc.Driver`驱动,URL格式为`jdbc:jtds:sqlserver://<主机名或IP>:<端口号>/<数据库...

    mysql和Oracle性能比较.pdf

    例如,文档中展示了创建表的语句在两种数据库中的不同写法。Oracle使用的PL/SQL语法与MySQL的SQL语法有所不同,这可能导致在编写存储过程、触发器等对象时出现差异。在性能优化方面,Oracle提供了更多的工具和选项,...

    oracle 分页的部分

    通过执行时间或其他性能指标(如执行计划)的比较,我们可以直观地看到两种方法的效率差异。 总的来说,Oracle的分页查询涉及多个层面,包括查询优化器的选择、查询提示的应用以及查询结构的设计。理解这些原理并...

    Oracle和MySQL的区别

    Oracle和MySQL作为两种主流的关系型数据库管理系统,在很多方面都有着显著的不同之处。这些不同点不仅体现在基础的数据库管理和SQL语法上,还包括更高级的功能和特性。了解这些差异有助于开发者根据实际需求选择合适...

    mysql类似oracle rownum写法实例详解

    在数据库管理领域,Oracle 和 MySQL 是两种常用的 SQL 数据库系统,它们在语法上存在一些差异。在 Oracle 中,`ROWNUM` 是一个非常有用的特性,它可以在查询时为每一行生成一个唯一的序列号,这对于限制返回结果的...

    ORACLE DB2开发中的对比

    本文将深入探讨ORACLE和DB2两种主流数据库在开发过程中的对比,重点分析它们在不同场景下的语法差异。 首先,我们来看如何在ORACLE和DB2中选取前N条记录。在ORACLE中,可以使用`rownum`来限制查询结果的数量,例如`...

    Oracle与MySQL的几点区别

    ### Oracle与MySQL的区别详解 #### 一、分组查询(GROUP BY)的使用差异 在进行数据分组查询时,Oracle和MySQL之间存在细微但重要的差别。...了解这些差异对于有效地开发和维护基于这两种数据库的应用程序非常重要。

    Oracle-SQL优化.doc

    Oracle提供了两种基本的表访问方式: 1. **全表扫描(Full Table Scan)**: - 按顺序读取表中的每一行记录。 - 适用于小表或无合适索引的情况。 - 优化技巧:利用批量读取技术减少磁盘I/O次数。 2. **基于...

    一次SQL Tuning引出来的not in , not exists 语句的N种写法2

    【标题】:“一次SQL Tuning引出来的not in , not exists 语句的N种写法2” 【描述】:文章并未直接提供描述,但从标题推测,该内容可能涉及数据库查询优化,特别是关于`not in`和`not exists`两种SQL查询子句的...

    left join 过滤条件写在on后面和写在where 后面的区别

    接下来,我们将分别演示两种情况下`LEFT JOIN`的不同之处。 #### 情况一:过滤条件写在`ON`子句后 ```sql SELECT t1.*, t2.* FROM t1 LEFT JOIN t2 ON t1.id = t2.id AND t1.feild = 1; ``` 在这个例子中,我们...

    Oracle到mysql转换的问题总结.doc

    在将Oracle数据库转换为...同时,由于两种数据库的性能特性和最佳实践不同,优化查询可能也是转换后的重要工作。在转换前,建议进行详尽的数据分析和测试,确保所有业务逻辑和数据一致性在新的环境中能得到正确处理。

    JDBC所有链接数据库写法

    有两种方式连接MS SQL Server:一是使用开源项目`jtds`的驱动,二是使用官方提供的驱动。使用`jtds`的代码为: ```java Class.forName("net.sourceforge.jtds.jdbc.Driver"); Connection ...

    oracle性能优化(上)

    Oracle提供了多种工具和机制来帮助DBA诊断性能问题,其中警报日志文件和跟踪文件是非常重要的两种手段。 ##### 警报日志文件 - **作用**:记录系统运行中的重要事件,如启动、关闭、错误消息等。 - **查看方式**:...

    Oracle SQLServer行列转换

    在SQLServer中,实现行转列的操作有两种主要方法:一种是利用`CASE...WHEN`语句配合`GROUP BY`聚合函数的方式;另一种是通过`PIVOT`操作。 ##### 1. 使用 `CASE...WHEN` 语句与聚合函数实现行转列 这种方法适用于...

    在Oracle数据库中同时更新两张表的简单方法

    本文将详细介绍两种常见的方法:基于`UPDATE`语句的更新和使用`MERGE`语句的差异性合并更新。 首先,我们来看如何使用`UPDATE`语句同时更新两张表。假设我们有两张表`ZZ_TEST1`和`ZZ_TEST2`,它们之间通过`pid`字段...

    DB2、ORACLE

    DB2和Oracle是两种广泛应用的关系型数据库管理系统,它们在SQL语法上存在一些显著的差异,这使得在跨数据库系统开发时需要特别注意兼容性问题。以下是一些主要的区别点: 1. **数据类型转换函数**: - Oracle允许...

Global site tag (gtag.js) - Google Analytics