查看: 2048|回复: 2

sql 优化

[复制链接]
论坛徽章:
45
奥运会纪念徽章:跆拳道
日期:2012-06-27 14:50:06
发表于 2009-8-27 17:25 | 显示全部楼层 |阅读模式
select *
  from (select a.calling_area_code calling_area_code,
                a .calling_nbr calling_nbr,
                a.called_area_code called_area _code,
                a.org_called_nbr called_nbr,
                to_char(a.start_dat e, 'yyyymmddhh24miss') start_date,
                a.duration duration,
                to_char(a.charge1, 'FM999999990') charge1,
                to_char(a.charge2,'FM999999990') charge2,
                b.name,'主叫呼出' callType,'-' comments,'-'
           from (SELECT t.calling_area_code,
                        t.calling_nbr,
                        t.called_area_ code,
                        t.called_nbr,
                        t.org_called_nbr,
                        t.start_date,
                        t.duration,
                        t.charge1,
                        t.charge2,
                        t.event_type_id,
                        t. acct_item_type_id1,
                        t.billing_cycle_id,
                        t.event_state
                   from CALL_EVENT_10907 t) a,
                ratable_event_ty pe b,
                a_merge_item_event_type c
          where a.event_type_id = b.event_type_id
            and a.event_type_id = c.event_type_id
            and c.merge_event_type_id = 211
            and to_char(a.start_date, 'yyyyMMddHH24miss') >= '20090701000000'
            and to_char(a.start_dat e, 'yyyyMMddHH24miss') <='20090731235959')
order by calling_nb r, start_date                                       


PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
| Id  | Operation             | Name                    | Rows  | Bytes |TempSpc
| Cost (%CPU)| Time     | Pstart| Pstop | Inst   |IN-OUT|

--------------------------------------------------------------------------------
---------------------------------------------------------

|   0 | SELECT STATEMENT      |                         |       |       |
|   841K(100)|          |       |       |        |      |

|   1 |  SORT ORDER BY        |                         |   180K|    17M|    39M
|   841K  (1)| 02:48:16 |       |       |        |      |

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

|   2 |   HASH JOIN           |                         |   180K|    17M|
|   837K  (1)| 02:47:25 |       |       |        |      |

|   3 |    REMOTE             | A_MERGE_ITEM_EVENT_TYPE |    65 |   715 |
|     2   (0)| 00:00:01 |       |       | DBLIN~ | R->S |

|   4 |    HASH JOIN          |                         |   178K|    15M|
|   837K  (1)| 02:47:25 |       |       |        |      |

|   5 |     REMOTE            | RATABLE_EVENT_TYPE      |   930 | 37200 |

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
|    14   (0)| 00:00:01 |       |       | DBLIN~ | R->S |

|   6 |     PARTITION HASH ALL|                         |   178K|  9045K|
|   836K  (1)| 02:47:24 |     1 |     8 |        |      |

|   7 |      TABLE ACCESS FULL| CALL_EVENT_10907        |   178K|  9045K|
|   836K  (1)| 02:47:24 |     1 |     8 |        |      |

--------------------------------------------------------------------------------
---------------------------------------------------------


PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------


27 rows selected.

SQL>

查询call_event_10907表上索引的情况
SQL> select index_name,column_name,table_owner from dba_ind_columns where table_name='CALL_EVENT_10907';

INDEX_NAME                     COLUMN_NAME
------------------------------ ----------------------------------------
TABLE_OWNER
------------------------------
CALL_EVENT_10907$E_TYPE_ID     EVENT_TYPE_ID
QUERY

CALL_EVENT_10907$ACCT_ID       ACCT_ID1
QUERY

CALL_EVENT_10907$SERV_ID       SERV_ID
QUERY
论坛徽章:
129
蓝锆石
日期:2008-08-23 16:25:58萤石
日期:2008-02-26 15:38:51祖母绿
日期:2008-08-18 16:12:54海蓝宝石
日期:2008-02-23 15:06:23紫水晶
日期:2008-08-22 14:58:26红宝石
日期:2008-07-26 15:02:37九尾狐狸
日期:2008-09-16 09:24:50红孩儿
日期:2008-10-26 12:20:09紫蜘蛛
日期:2008-11-19 08:33:41玉兔
日期:2009-02-02 09:09:53
发表于 2009-8-27 17:51 | 显示全部楼层
可以尝试先对相关对进行分析。
CALL_EVENT_10907走的是全表,EVENT_TYPE_ID上有索引,选择性如何?
加HINT改用NL试试

使用道具 举报

回复
招聘 : Java研发
认证徽章
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
发表于 2009-8-27 18:27 | 显示全部楼层
分区是怎么分的

数据量分布情况?

使用道具 举报

回复

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

本版积分规则 发表回复

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