问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle中where条件中的顺序影响效率吗

发布网友 发布时间:2022-04-09 21:35

我来回答

7个回答

懂视网 时间:2022-04-10 01:56

由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则:

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

例如:

(低效)

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

(高效)

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

2.SELECT子句中避免使用’*’

当在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.可是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间.

3.使用表的别名(Alias)

当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误.

注:Column歧义指的是由于SQL中不同的表具有相同的Column名,当SQL语句中出现这个Column时,SQL解析器无法判断这个Column的归属。

  

Oracle数据库Where条件执行顺序

标签:过程   语法错误   job   get   并且   and   sel   多个   pre   

热心网友 时间:2022-04-09 23:04

不会影响的。
推荐答案是错误的,不知道什么年代的事情了!
CBO优化器机基于代价的。
oracle会自动判断,选择率高的表作为驱动表来进行连接!

热心网友 时间:2022-04-10 00:22

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 >50000AND JOB = ‘MANAGER’;

热心网友 时间:2022-04-10 01:57

对于10G以后的版本,oracle默认都采用了基于代价的优化器,where条件后的顺序已经对效率没有影响了

热心网友 时间:2022-04-10 03:48

顺序对效率不影响的
Oracle会自动生成执行计划

热心网友 时间:2022-04-10 05:56

同意问题采纳者最后的想法,我也是在找sql的效率问题,以优化查询效率

热心网友 时间:2022-04-10 08:21

不会产生影响
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 「抖音短视频制作」做好自媒体运营,你需要避开这6个坑! 麒麟珠宝校验码24338647 四人麻将有什么技巧 如何玩转自媒体运营+打造自己成为网红 夏天吃姜的好处,到底有哪些? 怎么备份微信聊天记录?微信聊天记录怎么备份 如何设置好友添加验证 如何设置好友验证? 怎样设置好友验证方式 cad2010组炸不开怎么办? CAD解散块得命令 大北农多少钱? 都说“胖子都是潜力股”,减肥真的堪比整容吗?瘦下来都有哪些变化? 当你减肥时 脂肪会发生什么变化 电子钟下午13点怎么调? 减肥给你带来什么样的变化 减肥对外貌的改变有多大? 你们减肥前和减肥后都有什么变化? 胖子减肥瘦下来了会有什么变化? 实习教师如何写班主任日志,求篇班主任日志范文 麒麟珠宝钢印字体会不一样吗 如何区分玉雕中的貔貅,麒麟,狮子 镇店之宝麒麟 玉貔貅怎么分辨玉的好坏呢,求指点? 四人打麻将的水平可以高到什么程度? Qeelin (麒麟珠宝)香港店铺的地址?the wulu collection 一般的首饰上面麒麟的上面起的是什么动物? 如何在电子表格中分两栏显示? 香港麒麟珠宝 wang wang系列的这款项链多少钱? 在哪能买到俄罗斯紫金项链? 苹果手机和安卓手机微信支付宝支付多少钱都是一样的吗还是苹果要利息? 翡翠麒麟和什么一起戴 宝诗龙和宝曼兰朵哪个好 麒麟项链断了有地方修吗? 二级建造师是按分数录取还是按通过率啊? 二级建造师录取标准是什么啊 我是学网络系统管理的,(大专,学的不精)刚毕业,想从事平面设计美工方面的工作,应该学些什么呢 请问“二建”报考条件中,我有其他建设上岗证,工作年限满两年的能不能通过审核? 我想考二级建造师的市政专业,审核时什么条件能通过,对单位人事盖章有要求吗 笔记本电脑可以用网线吗