Oracle sql"NOT IN"语句优化,查询A表有、B表没有的数据
2023-09-14 08:59:55 时间
记录量大的情况下,采用NOT IN查询,那肯定会慢的无法接受。比如:
SELECT A.* FROM TABLE_A WHERE A.USER_ID NOT IN (SELECT B.USER_ID FROM TABLE_B)
目前找到的最优方法,可以秒查。示例如下,查询A表有、B表没有的DEPT_ID数据:
SELECT A.* FROM TB_DEPT A, TB_DEPT_LEV B WHERE A.DEPT_ID = B.DEPT_ID(+) AND B.DEPT_ID IS NULL
(+)号可以这样来理解: + 表示补充,即哪个表有加号,这个表就是匹配表。这里加号写在右表,左表就是全部显示,故是左连接。
原文:http://blog.csdn.net/dengjh_business/article/details/35226227
相关文章
- 使用navicat premium将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL
- 【编程】java jdbc/ojdbc 链接oracle的三种方式
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
- 《oracle每日一练》免安装Oracle客户端使用PL/SQL
- java oracle的2种分页方法
- ORACLE外部表总结
- Orcale(一)----WIN7 X64下安装ORACLE 10g(检查操作系统版本: 6.1a等问题)
- 【解决】Oracle报SP2-1503/SP2-1502错误
- Oracle使用审计监控用户执行过的SQL语句
- oracle收集统计信息
- 高效率Oracle SQL语句
- 在oracle中查询已知表名的表中所有字段名,每个字段是否是主键,是否是外键,是否为空的sql语句
- ^全^ 获取SQL SERVER2000/2005、MySql、Oracle元数据的SQL语句 [SQL语句来自CodeSmith]
- [转] 32位 PL/SQL Develope r如何连接64位的Oracle 图解
- Oracle 如何查看建表时间?
- 64位Oracle用pl/sql导入表
- Oracle与Sql Server复制表结构及数据
- SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)
- 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf
- sql 精读(五) 标准 SQL窗口函数一
- 【大数据开发运维解决方案】Oracle Sql基础查询
- 【SQL开发实战技巧】系列(四十四):Oracle12C常用新特性☞你知道吗Oracle新增了类似Mysql的自增列(Identity Columns)功能
- 解密 Oracle 数据库 SQL 执行历史:掌握多种实现方式,轻松实现 SQL 监控与性能优化
- 【ORACLE性能分析和优化思路学习笔记02:什么时候需要对性能进行干预】
- 【Mysql异构实时同步Oracle】OGG12异构同步mysql到oracle(windows mysql实时同步数据到linux oracle)详细文档