`
heavenslv
  • 浏览: 81517 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL优化 ----- WHERE 子句中的连接顺序

阅读更多

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

WHERE 条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE 子句的末尾.

例如:

(低效,执行时间156.3 秒)

SELECT …
FROM EMP E
WHERE SAL > 50000
AND JOB = ‘MANAGER’
AND 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO);
 

(高效,执行时间10.6 秒)

SELECT …
FROM EMP E
WHERE 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO)
AND SAL > 50000
AND JOB = ‘MANAGER’;
 
分享到:
评论

相关推荐

    T-SQL中where子句与having子句的对比分析.pdf

    在 SELECT 语句中,FROM 子句指定了要操作的表或视图,WHERE 子句用来对数据进行筛选,GROUP BY 子句将数据进行分组,HAVING 子句对分组后的结果进行筛选,最后 ORDER BY 子句将结果按照指定的顺序进行排序。...

    数据库基础知识

    sqlplus 连接本地 quit ...cd MySql cd bin cd mysql -h192.168.1.32 -uroot -p ...sql语句执行的顺序:from子句----&gt;where子句----&gt;select子句---&gt;order by子句 ='2010-07-22' 或是 = To_DATE('2010-07-22')

    Oracle Sql 性能优化

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

    Oracle+SQL性能优化40条.docx

    六、Where 子句中的连接顺序 * Oracle 采用自下而上或自右向左的顺序解析 WHERE 子句 * 表之间的连接必须写在其他 WHERE 条件之前 七、SELECT 子句中避免使用“*” * Oracle 在解析 SQL 语句的时候,对于“*”将...

    SQl优化34条[参考].pdf

    (2)WHERE 子句中的连接顺序 ORACLE 采用自下而上的顺序解析 WHERE 子句,因此表之间的连接必须写在其他 WHERE 条件之前。那些可以过滤掉最大数量记录的条件必须写在 WHERE 子句的末尾。 (3)SELECT 子句中避免...

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

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

    SQL 优化原则

    但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高...

    sql优化,大数据量如何解决.docx

    2. where字句中的连接顺序 Oracle的解析按照从上而下解析,因此表之间的连接必须写在where条件之前。 3. 通配符‘*’的使用 Sql在执行带通配符的语句时,如果‘%’在首位,那么在字段上建立的主键或者索引将会...

    SQL数据库资源大放送

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

    postgre-sql优化方法

    * 查看语句中,where 等条件子句,每个字段能过滤的效率。找出可优化处。 整体优化 * 使用 EXPLAIN 命令可以查看执行计划,这个方法是我们最主要的调试工具。 * 及时更新执行计划中使用的统计信息。 PostgreSQL ...

    ORACLE_SQL性能优化

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

    sql语句的优化方法

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

    oracle的sql优化

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

    oracle优化sql

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

    oracle SQL性能优化

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

    sql优化方法及分析

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

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

    避免在where子句中使用 or 来连接条件;避免在where子句中使用!=或操作符;将大的DELETE,UPDATE、INSERT 查询变成多个小查询;如何选择索引列的顺序;避免产生大事务操作;优化like语句等这样那样的问题。 作为数据...

    ORACLE优化SQL语句,提高效率

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

    常用的sql语句的优化

    在 WHERE 子句中,避免使用 OR 连接条件,因为这将导致引擎放弃使用索引而进行全表扫描。例如,以下语句: `SELECT * FROM t WHERE num = 10 OR num = 20` 可以改为: `SELECT * FROM t WHERE num = 10 UNION ALL...

    浅析SQL中WHERE EXISTS子查询.pdf

    SQL(Structured Query Language)是一种功能强大、通用的关系数据库语言,而SQL语言的核心是SELECT语句,其中WHERE子句的条件表达式表现得灵活而复杂,和谓词DISJunctive所形成的嵌套查询也成为部分人理解的难点。...

Global site tag (gtag.js) - Google Analytics