oracle 中,下面哪个SQL效率比较高?

2019-03-25 13:44|来源: 网路

要对比两张表TA和TB:

select *
   from TA a
  where not exists
  (select v_key from TB b where a.v_key = b.v_key);

select *
   from TA, (select v_key from TB) c
  where TA.v_key = c.v_key(+)
    and c.v_key is null;

如果表TA和TB都有大量数据的话,哪个效率会比较高一点?

问题补充:话说能不能顺便稍微解释一下为什么较快或者较慢。。

相关问答

更多
  • oracle函数[2023-03-19]

    和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集 INTERSECT 的语法如下: [SQL语句 1] INTERSECT [SQL语句 2] 假设我们有以下的两个表格, A表格 Place Price Date Los An ...
  • 能具体一点或者 有具体的sql语句吗? getName(a.id) 是在分页条件之前就执行了。 select t2.*,getName(a.id) from (select t1.*, rownum rn from (select a.id from a, where a.year = '2012' order by a.time) t1 where rownum <= 80) t2 where t2.rn >= 61
  • sql语句创建唯一索引的方法: 1、在sql server数据库中: CREATE UNIQUE INDEX AK_UnitMeasure_Name ON Production.UnitMeasure (Name); GO 2、在oracle中床创建 CREATE unique INDEX 索引名 ON 表名 (列名) TABLESPACE 表空间名;
  • oracle函数[2022-08-15]

    和 UNION 指令类似, INTERSECT 也是对两个 SQL 语句所产生的结果做处理的。不同的地方是, UNION 基本上是一个 OR (如果这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集 INTERSECT 的语法如下: [SQL语句 1] INTERSECT [SQL语句 2] 假设我们有以下的两个表格, A表格 Place Price Date Los An ...
  • oracle问题?[2022-03-29]

    1、 以OMS的方式登录数据库。默认用户名为sysman,密码为oem_temp,如果没有改密码登录成功后会弹会一个更改口令的对话框。输入你的新密码和确认密码,然后确定。 注:如果忘记了新密码,也可以恢复到默认密码状态下:在%home_path%\oracle90\sysman\admin目录中有一个vduResetSysman.sql文件,执行,就能恢复到默认密码。 2、 选择“配置”|“首选项”,打开“编辑 管理员首选项”对话框,切换到“首选身份证明”页, 3、 选中所连接到的节点即机器名,输入此机器的 ...
  • oracle怎么用啊[2023-09-08]

    在应用程序开发下面,有个SQL PLUS,可以在那里进行数据库的各种操作,比如对系统的管理、用户管理、数据的增删查改、各种对象的建立(表、视图、序列、同义词、存储过程等等),不过这个是纯文本的操作环境,对用户要求较高,也比较繁琐。 最好安装一个第三方的PL SQL工具,比如PLSQL DEVELOPER、TOAD都比较好用。这些都是图形界面,易于操作,对新手来说,绝对比ORACLE自带的SQL PLUS好用百倍,容易上手。 有问题请追问,如满意请采纳。
  • oracle是什么[2023-04-22]

    ORACLE是甲骨文公司开发出来的数据库系统.与MYSQL是同一种类型的系统.MYSQL是SUN公司免费源代码的数据库体统.但是现在sun公司被甲骨文收购了,以后可能就没有MYSQL了.不知道我的回答有没有解决你的疑惑呢
  • 左外连接用left join,右外连接用right join语句。 比如 Oracle: select * from a, b where a.id=b.id(+) SQL: select * from a left join b on a.id=b.id 反过来a.id(+)=b.id 就是right join
  • oracle是什么[2022-03-01]

    ORACLE是甲骨文公司开发出来的数据库系统.与MYSQL是同一种类型的系统.MYSQL是SUN公司免费源代码的数据库体统.但是现在sun公司被甲骨文收购了,以后可能就没有MYSQL了.不知道我的回答有没有解决你的疑惑呢
  • DataGuard通常用于业务连续性,即在主服务器不可用时拥有故障转移数据库。 如果您正在寻找可伸缩性,那么您需要RAC(Real Application Clusters),其中单独主机上的多个实例将挂载并共享同一组数据库文件。 通常,如果您具有受数据库主机内存和CPU限制约束的设计良好(以数据库为中心)的应用程序,则RAC会进行扩展。 DataGuard is typically used for business continuity, i.e. to have a failover database ...