12
返回列表 发新帖
楼主: kewin

对dba_extents 进行的查询

[复制链接]
论坛徽章:
5
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51数据库板块每日发贴之星
日期:2011-07-22 01:01:02蜘蛛蛋
日期:2011-08-24 14:10:13ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26
11#
发表于 2011-8-26 23:42 | 只看该作者
数据字典 性能问题其实很常见,特别是数据库上Pb级别,RAC 的情况下
数据字典全部都是经过ORACLE特殊优化的,单独查询它很快,但是你它和很多数据字典JOIN之后就可能很慢
解决办法很简单,禁止CBO对SQL进行视图合并即可

使用道具 举报

回复
论坛徽章:
75
生肖徽章:猪
日期:2014-09-05 10:25:05指数菠菜纪念章
日期:2016-10-17 16:12:49生肖徽章:兔
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:马
日期:2015-02-05 16:49:02生肖徽章:羊
日期:2015-02-06 08:40:35生肖徽章:羊
日期:2015-02-06 08:40:34股神
日期:2015-01-05 08:27:16菲尼克斯太阳
日期:2014-12-29 13:11:51
12#
 楼主| 发表于 2011-8-27 11:41 | 只看该作者
原帖由 lbs1988 于 2011-8-26 23:42 发表
数据字典 性能问题其实很常见,特别是数据库上Pb级别,RAC 的情况下
数据字典全部都是经过ORACLE特殊优化的,单独查询它很快,但是你它和很多数据字典JOIN之后就可能很慢
解决办法很简单,禁止CBO对SQL进行视图合并即可


我用no_unnest 来禁止视图合并了,结果还是一样。

你有好的方法吗?

使用道具 举报

回复
论坛徽章:
5
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51数据库板块每日发贴之星
日期:2011-07-22 01:01:02蜘蛛蛋
日期:2011-08-24 14:10:13ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26
13#
发表于 2011-8-27 17:51 | 只看该作者

回复 #12 kewin 的帖子

no_unnest 是禁制视图合并吗? 它是 禁制子查询非嵌套

使用道具 举报

回复
论坛徽章:
75
生肖徽章:猪
日期:2014-09-05 10:25:05指数菠菜纪念章
日期:2016-10-17 16:12:49生肖徽章:兔
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:马
日期:2015-02-05 16:49:02生肖徽章:羊
日期:2015-02-06 08:40:35生肖徽章:羊
日期:2015-02-06 08:40:34股神
日期:2015-01-05 08:27:16菲尼克斯太阳
日期:2014-12-29 13:11:51
14#
 楼主| 发表于 2011-8-27 19:43 | 只看该作者
原帖由 lbs1988 于 2011-8-27 17:51 发表
no_unnest 是禁制视图合并吗? 它是 禁制子查询非嵌套


应该用哪个hint?

使用道具 举报

回复
论坛徽章:
5
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51数据库板块每日发贴之星
日期:2011-07-22 01:01:02蜘蛛蛋
日期:2011-08-24 14:10:13ITPUB十周年纪念徽章
日期:2011-11-01 16:24:042012新春纪念徽章
日期:2012-01-04 11:54:26
15#
发表于 2011-8-29 10:53 | 只看该作者
no_merge(视图名称)

使用道具 举报

回复
论坛徽章:
75
生肖徽章:猪
日期:2014-09-05 10:25:05指数菠菜纪念章
日期:2016-10-17 16:12:49生肖徽章:兔
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:马
日期:2015-02-05 16:49:02生肖徽章:羊
日期:2015-02-06 08:40:35生肖徽章:羊
日期:2015-02-06 08:40:34股神
日期:2015-01-05 08:27:16菲尼克斯太阳
日期:2014-12-29 13:11:51
16#
 楼主| 发表于 2011-8-29 15:11 | 只看该作者
SYS@hr9prd>select  /*+ NO_QUERY_TRANSFORMATION */ SEGMENT_NAME,   sum(blocks)  
  2     from dba_extents  
where segment_name in (select   index_name from dba_indexes
where table_NAME in ('PS_TL_TA_OFFST029','PS_TL_IPT19','PS_TL_TA_OFFST019') and OWNER='SYSADM')
group by SEGMENT_NAME     ;  3    4    5  

Elapsed: 00:05:15.63

使用道具 举报

回复
论坛徽章:
75
生肖徽章:猪
日期:2014-09-05 10:25:05指数菠菜纪念章
日期:2016-10-17 16:12:49生肖徽章:兔
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:鼠
日期:2015-02-05 16:49:02生肖徽章:马
日期:2015-02-05 16:49:02生肖徽章:羊
日期:2015-02-06 08:40:35生肖徽章:羊
日期:2015-02-06 08:40:34股神
日期:2015-01-05 08:27:16菲尼克斯太阳
日期:2014-12-29 13:11:51
17#
 楼主| 发表于 2011-8-29 15:12 | 只看该作者
我加上了NO_QUERY_TRANSFORMATION 的HINT,现在执行时间降低到5分钟多。
可是

Statistics
----------------------------------------------------------
    1600363  recursive calls
         94  db block gets
    2354909  consistent gets
      68579  physical reads
        252  redo size
        743  bytes sent via SQL*Net to client
        487  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
          5  rows processed

可是有160万次的recursive calls,这值也太高了吧。

使用道具 举报

回复

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

本版积分规则 发表回复

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