楼主: anlinew

[精华] 几个SQL写法影响执行效率的案例

[复制链接]
论坛徽章:
821
授权会员
日期:2007-08-10 01:06:30山治
日期:2019-11-15 22:34:592015年新春福章
日期:2015-03-06 11:57:31暖羊羊
日期:2015-03-04 14:50:37马上有钱
日期:2014-12-21 16:14:33马上加薪
日期:2014-11-23 19:24:42 2014年世界杯参赛球队: 德国
日期:2014-07-09 15:28:06ITPUB元老
日期:2008-08-24 00:06:57会员2007贡献徽章
日期:2007-09-26 18:42:10托尼托尼·乔巴
日期:2020-03-23 10:49:16
11#
发表于 2010-8-6 09:36 | 只看该作者
感觉执行计划一旦出现filter,一般情况下执行起来都非常慢.这个操作是干什么的?

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
12#
发表于 2010-8-6 11:12 | 只看该作者
Filter 耗的都是CPU Time
原帖由 anlinew 于 2010-8-5 15:44 发表
双核中的一颗核执行期间一直100%

使用道具 举报

回复
论坛徽章:
97
ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04
13#
发表于 2010-8-6 11:17 | 只看该作者
这个要顶啊。

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
14#
发表于 2010-8-6 11:17 | 只看该作者
我也碰到个类似的问题。

select * from some_table where org_id =0
or org_id in (select org_id from org_table start_with org_id = 0 connect by prior org_id = parent_org_id)

table不算大,也就几千笔,然后执行计划里出现filter,需要花几秒钟。
稍微改一下
select * from some_table where or org_id in (
select 0 from dual
union all
select org_id from org_table start_with org_id = 0 connect by prior org_id = parent_org_id)

变成nest loop, 几毫秒就OK乐

使用道具 举报

回复
论坛徽章:
27
数据库板块每日发贴之星
日期:2010-06-17 01:01:07迷宫蛋
日期:2011-07-07 15:25:46紫蛋头
日期:2011-08-10 10:31:56ITPUB十周年纪念徽章
日期:2011-09-27 16:33:28ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222012新春纪念徽章
日期:2012-02-07 09:59:35ITPUB知识分享者
日期:2012-02-20 17:49:25铁扇公主
日期:2012-02-21 15:02:40ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48
15#
发表于 2010-8-7 22:27 | 只看该作者
通常 由于函数转换导致 索引不可用 。造成CBO选择了错误的执行计划。。。

[ 本帖最后由 杨奇龙 于 2010-8-7 23:32 编辑 ]

使用道具 举报

回复
论坛徽章:
138
19周年集字徽章-19
日期:2020-06-08 08:30:56马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02路虎
日期:2013-11-22 12:26:18问答徽章
日期:2014-05-08 12:15:31
16#
发表于 2010-8-8 09:40 | 只看该作者

回复 #14 rollingpig 的帖子

有些东西真是在哪都有啊,你说的这个情况,1年前我用一模一样的方式处理过,但是最后只有一部分的人接受了

主要是因为子查询和or连用导致oracle不做unnest,所以就走filter

使用道具 举报

回复
论坛徽章:
14
季节之章:冬
日期:2010-01-04 13:39:56季节之章:春
日期:2010-03-22 16:42:29ITPUB知识分享者
日期:2010-06-28 10:02:43季节之章:夏
日期:2010-07-16 09:20:442010世博会纪念徽章
日期:2010-07-22 11:35:022010世博会纪念徽章
日期:2010-08-09 10:41:19ITPUB季度 技术新星
日期:2010-08-31 10:47:25季节之章:秋
日期:2010-12-10 16:23:30ITPUB官方微博粉丝徽章
日期:2011-07-20 17:06:48
17#
发表于 2010-8-8 16:21 | 只看该作者
Good Job

使用道具 举报

回复
论坛徽章:
9
2010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:喀麦隆
日期:2010-07-07 11:50:42授权会员
日期:2010-08-07 15:29:242010年世界杯参赛球队:澳大利亚
日期:2010-08-08 19:32:202010广州亚运会纪念徽章:自行车
日期:2010-09-07 17:26:24ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212010广州亚运会纪念徽章:举重
日期:2011-04-15 12:58:34铁扇公主
日期:2012-02-21 15:02:40ITPUB年度最佳BLOG写作奖
日期:2012-03-13 17:09:53
18#
发表于 2010-8-9 15:08 | 只看该作者
学习了 感谢。

使用道具 举报

回复
论坛徽章:
2
数据库板块每日发贴之星
日期:2010-08-13 01:01:01ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
19#
发表于 2010-8-12 15:01 | 只看该作者
顶楼主,收藏一下先

使用道具 举报

回复
论坛徽章:
821
授权会员
日期:2007-08-10 01:06:30山治
日期:2019-11-15 22:34:592015年新春福章
日期:2015-03-06 11:57:31暖羊羊
日期:2015-03-04 14:50:37马上有钱
日期:2014-12-21 16:14:33马上加薪
日期:2014-11-23 19:24:42 2014年世界杯参赛球队: 德国
日期:2014-07-09 15:28:06ITPUB元老
日期:2008-08-24 00:06:57会员2007贡献徽章
日期:2007-09-26 18:42:10托尼托尼·乔巴
日期:2020-03-23 10:49:16
20#
发表于 2010-8-12 15:30 | 只看该作者
开发人员都喜欢用or 来拼sql

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表