`
jessen163
  • 浏览: 464625 次
  • 性别: Icon_minigender_1
  • 来自: 潘多拉
社区版块
存档分类
最新评论

SQL查询优化,注意where条件的顺序

SQL 
阅读更多
1.测试表

    employee

    雇员id     部门id      薪金

    emp_id    dept_id    salary

      01            01           1050

      02             01           2000

   ok,我们要查找部门01下,薪金高于1000的雇员

2.原则及两个SQL的对比

原则,多数数据库都是从 左到右的顺序处理条件,把能过滤更多数据的条件放在前面,过滤少的条件放后面

SQL1:
select * from employee

            where salary >1000     --条件1,过滤的数据较少

                 and   dept_id='01'    --条件2,过滤的数据比条件1多

上面的SQL就不符合我们的原则了,应该把过滤数据更多的条件放在前面,因此改为下面这样更好
           
 select * from employee

              where   dept_id='01'     --过滤更多数据的条件放在前面

                  and   salary > 1000
分享到:
评论

相关推荐

    sql查询优化规则

    SQL语句的执行顺序对于理解查询如何进行以及如何优化查询至关重要。以下是一般情况下SQL语句的执行流程: 1. **FROM:** 对FROM子句中的前两个表执行交叉连接(笛卡尔积),生成虚拟表VT1。 2. **ON:** 对VT1应用ON...

    SQL查询优化[定义].pdf

    此外,使用并集可以防止不必要的顺序存取,尤其是在WHERE子句中包含多个条件时,应重构查询以利用索引。 在实际应用中,还应注意其他一些查询优化技巧,如避免在子查询中使用NOT IN或EXISTS操作,因为它们可能迫使...

    VB中SQL语言查询优化设计.pdf

    3. 优化WHERE子句:在WHERE子句中,条件的顺序非常重要。可以使用索引来提高查询效率,同时也可以使用别名来简化查询语句。 4. 优化ORDER BY子句:在ORDER BY子句中,排序的顺序非常重要。可以使用索引来提高查询...

    SQL查询原理及执行顺序

    SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,其查询原理和执行顺序对于数据库性能优化至关重要。本文将深入探讨SQL查询的执行过程,帮助读者理解如何构建高效查询。 #### SQL语句执行...

    SQL_Server_2008查询性能优化

    优化JOIN顺序,使用正确的JOIN类型(如INNER JOIN, LEFT JOIN)以及使用JOIN条件中的索引,都能显著提高查询效率。在大型数据集上,考虑使用子查询或临时表代替大范围的JOIN操作。 存储过程的使用可以改善性能,...

    SQLServer索引对查询条件的影响

    本文将基于一个具体的示例表`TABLE1`来探讨SQL Server中索引对查询条件的影响,以及如何通过调整查询条件顺序来优化查询效率。 #### 示例表`TABLE1`结构及数据 首先,我们创建一个简单的表`TABLE1`,其包含三个...

    sql查询的逻辑执行顺序

    ### SQL查询的逻辑执行顺序详解 #### 一、引言 SQL(Structured Query Language)作为数据库操作的标准语言,在数据检索、管理和分析方面扮演着至关重要的角色。为了更高效地理解和优化SQL查询,了解其背后的执行...

    SQL语句优化,语法优化

    2. **WHERE子句的连接顺序**:Oracle解析WHERE子句时自下而上,所以应将能过滤最多记录的条件放在最后,以尽早减少数据处理量。 3. **避免使用通配符'*'**:在SELECT语句中,避免使用'*'来获取所有列,因为Oracle会...

    MS SQL Server查询优化方法

    ### MS SQL Server 查询优化方法详解 #### 一、引言 在数据库管理与维护中,查询性能优化是一项至关重要的工作。对于使用MS SQL Server的企业和个人来说,了解并掌握查询优化技巧能够显著提升系统的响应速度与整体...

    SQL常用优化方法

    如果必须使用JOIN,确保JOIN条件有索引,并优化JOIN顺序。 3. **避免使用子查询**:子查询可能导致多次数据访问,可以考虑改写为JOIN或者临时表来优化。 4. **使用EXISTS替代IN**:当查询条件涉及多个子集时,使用...

    SQL语句优化总结34条

    综上所述,SQL语句优化涉及多个方面,包括选择正确的表处理顺序、优化查询条件、减少不必要的数据库操作等,这些都是提升数据库性能的关键策略。通过深入理解这些原则并应用到实际SQL编写中,可以大大提高SQL执行...

    Oracle提高SQL查询效率(SQL优化).doc

    Oracle 提高 SQL 查询效率(SQL 优化) 本文将详细介绍 Oracle 中提高 SQL 查询效率的技巧和策略,包括选择最有效率的表名顺序、WHERE 子句中的连接顺序、SELECT 子句中避免使用‘*’、减少访问数据库的次数、使用 ...

    SQLServer数据查询的优化方法

    ### SQLServer数据查询的优化方法 #### 一、引言 SQLServer作为一种广泛使用的数据库管理系统,因其稳定性和高效性被众多企业和开发者所青睐。随着数据量的增长,如何优化SQLServer中的数据查询成为提升应用程序...

    JAVA-SQL语句优化.doc

    SQL优化能够显著提升系统的响应速度,尤其是在数据库中数据量剧增的情况下,良好的SQL编写技巧可以使得查询速度提升上百倍。 首先,要注意SQL语句的编写规范。在多表联接查询时,应考虑表的连接顺序。通常,应将...

    sql语句优化建议

    组合索引尤其在多条件查询中表现出色,因为它可以同时考虑多个字段,从而减少数据扫描的范围。 4. **优化连接技术**:在处理多表连接查询时,选择合适的连接类型(如内连接、外连接、交叉连接等)和连接顺序对性能...

    SQL优化经验大全

    优化WHERE子句的顺序 在Oracle数据库中,WHERE子句的顺序也会影响查询效率。一般而言,应将过滤条件中最有效的(即能够排除最多行的)放在前面。这样可以更快地缩小搜索范围,从而提高查询速度。 #### 3. 避免使用...

    Oracle SQL规范与优化注意事项

    8. **WHERE子句过滤原则**:将过滤出最多记录的条件放在最前面,以减少扫描的行数。 9. **使用%TYPE和%ROWTYPE**:声明变量时与表中的数据类型保持一致,确保类型匹配。 10. **DECODE函数**:在IF/ELSE结构中使用...

    SQL 查询语句优化

    #### 二、优化WHERE子句中的连接顺序 Oracle的查询解析器遵循自下而上的顺序处理WHERE子句中的条件。因此,连接表的条件应位于WHERE子句的前部,而那些能够过滤掉最多记录的条件则应置于子句的末尾。这样做可以尽早...

    SQL查询优化的策略与技巧.pdf

    SQL优化主要包括SQL命令的书写技巧和使用优化工具两个方面。 首先,SQL命令书写技巧是优化的基础。在编写SQL语句时,我们需要关注以下几个要点: 1. **选择高效的操作符**: - 优先使用`EXISTS`替代`NOT IN`,...

Global site tag (gtag.js) - Google Analytics