`
jessen163
  • 浏览: 457060 次
  • 性别: 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危害开始显露 低效SQL的危害 系统响应变慢,软件开发中的8秒定律,当...

    Oracle Sql 性能优化

    ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 3、SELECT中避免使用 ‘ * ‘: ORACLE在解析的过程中, ...

    SQLServer2008查询性能优化 2/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    oracle的sql优化

    oracle的sql优化方法 1.全表扫描和索引扫描  大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。  Oracle中通过RowID访问数据是最快的方式  对字段进行函数转换,或者前...

    SQL性能优化

     其次,看是否用上正确的索引了,特别复杂的 SQL 语句,当其中 where 子句包含多个带有索引的字段时,更应该注意索引的选择是否合理。错误的索引不仅不会带来性能的提高,相反往往导致性能的降低。  针对如何用...

    SQL 优化原则

    ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (3) SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的...

    50个永不过时SQL性能优化技巧.pdf

    SQL优化是一个大家都比较关注的热门话题,无论你在面试,还是工作中,都很有可能会遇到。这个资源整理了50个永不过时的SQL性能优化技巧,无论是在数据库表设计的时候,还是在SQL开发的时候,比较高频出现的优化点。 ...

    SQL普查优化信息汇总

    SQL性能优化技术总结: ...WHERE子句中的连接条件书写顺序 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾 减少对表的访问次数 (减少逻辑读) 避免索引列的类型 隐式转换造成的索引无效

    ORACLE_SQL性能优化

    ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (3) SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的...

    where条件顺序不同、性能不同示例探讨

    昨天在书上看到SQL语句优化时,where条件顺序不同,性能不同,这个建议在Oracle11G版本还合适吗?方式1优于方式2? 方式1: 代码如下: select a.* from students s, class c where s.id = c.id s.id = ‘xxxxxxxx’ ...

    SQLServer2008查询性能优化 1/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    oracle SQL性能优化

    ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. (3) SELECT子句中避免使用 ‘ * ‘: ORACLE在解析的...

    Microsoft SQL Server 2008技术内幕:T-SQL查询(第二卷)

    《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...

    SQL语句优化过程策略,帮助您优化Oracle查询语句

    SQL语句优化过程优化策略 21. /*+ORDERED*/ 根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接. 例如: SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C WHERE A.COL1=B.COL1...

    sql语句的优化方法

    (2) WHERE子句中的连接顺序.: (3) SELECT子句中避免使用 ‘ * ‘: (4) 减少访问数据库的次数: (5) 在SQL*Plus , SQL*Forms和Pro*C中重新设置ARRAYSIZE参数, 可以增加每次数据库访问的检索数据量 ,建议值...

    sql优化方法及分析

    1、ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前

    SQL语句优化规则

    1.选用适合的ORACLE优化器。2. 访问Table的方式。3. 共享SQL语句。 4. 选择最有效率的表名顺序(只在基于规则的优化器...5. WHERE子句中的连接顺序。6.SELECT子句中避免使用 ‘ * ‘ ...(内部涵盖了非常多的优化规则)

    oracle优化sql

    oracle优化sql选择最有效率的表名顺序(只在基于规则的优化器中有效) WHERE子句中的连接顺序

    【大厂面试题】MySQL执行计划及SQL优化

    【大厂面试题】MySQL执行计划及SQL优化 知识点标签:explain、sql优化、索引、sql性能问题 题目描述 MySQL执行计划及SQL优化 1.SQL语句表头运行一个explain时,执行后所显示的表头字段如下: id : select查询的...

    ORACLE SQL性能优化系列

    关键字 ORACEL SQL Performance tuning 出处 http://www.dbasupport.com 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的...

Global site tag (gtag.js) - Google Analytics