(1) INSERT [INTO] B SELECT id, field1, field2 FROM A WHERE NOT EXISTS (SELECT id FROM B WHERE id=[A.]id)
(2) INSERT [INTO] B SELECT * FROM A WHERE id NOT IN (SELECT id FROM B)
---------------------------------------------------------------------------
这两句,都是将 A 表中存在, 但B表中不存在的数据, 插入到B表中, 关联比较字段为 id.
但这两句的执行效率,却是有数量级的差别.
结论有两点:
- 尽量用 EXISTS 和 NOT EXISTS 代替 IN 和 NOT IN
- 不要偷懒, 尽量不用 SELECT * FROM ...., 而要写字段名 SELECT field1,field2,....
注意:
在SQL SERVER中, EXISTS 用的比较多的是在 存储过程或触发器 中, 而在ORACLE中,却没有这个功能, ORACLE中的EXISTS 只能用在 单句的 SQL 中.
分享到:
相关推荐
陈立明在《SQL查询语句优化方法的研究》一文中,对如何优化SQL查询进行了详细探讨,以下是他提到的主要知识点: 1. 关系数据库管理系统(RDBMS)的优化策略: - 当前大部分RDBMS在执行连接操作时采用基于成本的查询...
总之,查询优化是一项复杂的工作,需要开发者具备数据库系统、SQL语句以及索引管理等多方面的知识。通过合理的设计和优化,可以显著提高数据库系统的性能和响应速度,对于开发高效的数据库应用系统具有重要意义。
### Access SQL 查询语句详解与分页技巧 在数据库管理领域,SQL(Structured Query Language,结构化查询语言)是操作关系型数据库的标准语言之一。它主要用于执行查询、更新数据、创建新表、删除表或访问控制等...
### SQL语句高级查询知识点详解 #### 实验背景与目的 本次实验主要聚焦于SQL语句的高级查询技术,旨在深化学生对SQL查询的理解,并熟练掌握SQL Server 2000查询分析器的使用,以及如何运用SELECT语句进行多表查询...
ORACLE SQL 语句优化技术分析 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询 SQL 语句,复杂视图的编写等体会不出 SQL 语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,...
ORACLE SQL语句优化技术分析的知识点主要围绕着SQL性能问题以及具体的优化策略展开。在数据库系统中,随着数据量的增加,SQL语句的执行效率会直接影响到整个系统的性能。为了提高性能,DBA需要掌握一系列的SQL优化...
### Oracle数据库SQL语句优化策略 #### 一、Oracle优化器模式 Oracle数据库提供了三种主要的优化器模式:基于规则的优化器(RULE)、基于成本的优化器(COST)和基于选择的优化器(CHOOSE)。这三种模式分别对应着...
对于大型数据库应用来说,这一点至关重要,因为一个优化的SQL语句可以显著降低服务器负载,提高系统响应速度。 在Delphi环境中开发这个工具,意味着它具有跨平台的特性,能够在Windows、Linux、macOS等多种操作系统...
本文将深入探讨SQL语句优化的重要性及其实践方法,旨在帮助数据库管理员和开发人员提高查询效率,减少资源消耗。 #### 一、避免全表扫描 全表扫描是指数据库在执行查询时检查表中的每一行,这在数据量较大时会极大...
#### 三、Oracle SQL语句优化技巧 为了提高SQL语句的执行效率,以下是一些常用的优化技巧: 1. **选择最有效率的表名顺序**:根据FROM子句中表的顺序,选择记录条数最少的表作为驱动表。这样可以在连接操作时更早...
3. SQL查询语句优化注意点 - 对于需要搜索的相关字段应当建立索引,如果涉及多个字段,则需要建立联合索引,以提高查询效率。 - 待搜索的值与表中字段存储的类型必须一致,否则会严重影响查询性能。 - 在可能的情况...
通过以下SQL语句可以实现这一目的: ```sql SELECT DRAW_CODE, ISOMETRIC, COUNT(1) FROM em.pre_iso_t_ass GROUP BY DRAW_CODE, ISOMETRIC HAVING COUNT(1) > 1; ``` 此查询将返回`DRAW_CODE`和`ISOMETRIC`字段中...
在编写复杂的SQL语句时,尤其要注意子查询的优化。一个常见的技巧是在子查询中加入适当的索引,以减少查询的时间。例如,可以通过比较两个表中的相同字段来优化子查询。 ```sql SELECT TAB_NAME FROM TABLES WHERE ...
在优化Oracle数据库中的SQL语句时,我们面临多个方面的挑战,这包括了对数据库架构的优化,数据表设计的优化,以及SQL语句本身的优化。以下是从给定文件中提炼出的关于Oracle数据库优化和SQL优化的知识点: 数据库...
在数据库管理中,SQL语句优化是提升系统性能的关键环节。复杂的SQL语句往往会导致数据库执行效率低下,因此,保持SQL语句简洁是提高数据库性能的基础。以下是一些关于SQL语句优化的重要策略: 1. **减少表连接...
对于大型企业级应用而言,优化SQL语句不仅能够提升用户体验,还能显著降低服务器负载,从而节省硬件成本。本文将详细介绍如何针对Oracle数据库进行SQL优化,并给出具体的操作指南和最佳实践。 #### 二、SQL优化基本...
在Linux操作系统下管理和优化Oracle9i数据库中的SQL语句是一项重要的技术任务,尤其对于数据库管理员而言。本篇文章主要探讨了如何在这样的环境下跟踪、发现和优化SQL语句,以提高系统性能并解决潜在的问题。 首先...
### SQL优化语句详解 在数据库管理与应用开发中,SQL查询效率的优化至关重要,它直接影响到系统的响应速度和整体性能。以下是从标题、描述、标签及部分内容中提炼出的关键SQL优化知识点,深入探讨每一点背后的原理...
该工具不仅可以显示 SQL 语句的执行时间,更重要的是它能够中断已提交的 SQL 语句执行,这一点对于提高工作效率极为关键。 #### 二、产品概述 **名称**:“万能数据库查询分析器” - **中文版本**:《DB 查询分析...
`SELECT 语句对齐工具`可以帮助用户在以下方面优化他们的SQL代码: 1. **缩进与空格**:将不同部分的语句按照标准的缩进进行对齐,例如,WHERE子句下的条件可能需要比SELECT关键字更靠右。 2. **括号对齐**:确保...