Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5284420
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: Oracle

2011-06-29 10:07:38


SQL>  alter session set sessionsetworkarea_size_policy=manual;
 alter session set sessionsetworkarea_size_policy=manual
                   *
第 1 行出现错误:
ORA-02248: 无效的 ALTER SESSION 选项

SQL> alter session set se;
alter session set se
                  *
第 1 行出现错误:
ORA-02248: 无效的 ALTER SESSION 选项

SQL> alter session set workarea_size_policy=manual;
会话已更改。
SQL> alter session set sort_area_size=209715200;
会话已更改。
SQL> create index MX_MTA_LOG_SENDER_IDX1 on MX_MTA_LOG (SENDER,sdomain) LOCAL NOLOGGING parallel 4;
create index MX_MTA_LOG_SENDER_IDX1 on MX_MTA_LOG (SENDER,sdomain) LOCAL NOLOGGING parallel 4
                                       *
第 1 行出现错误:
 
对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段
  
  对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段
    一、注意事项:
  首先,应当考虑表空间和磁盘空间是否足够。我们知道索引也是一种数据,在建立索引的时候势必也会占用大量表空间。因此在对一大表建立索引的时候首先应当考虑的是空间容量问题。
  其次,在对建立索引的时候要对表进行加锁,因此应当注意操作在业务空闲的时候进行。
  二、性能调整方面:
  首当其冲的考虑因素便是磁盘I/O。物理上,应当尽量把索引与数据分散到不同的磁盘上(不考虑阵列的情况)。逻辑上,数据表空间与索引表空间分开。这是在建索引时应当遵守的基本准则。
  其次,我们知道,在建立索引的时候要对表进行全表的扫描工作,因此,应当考虑调大初始化参数db_file_multiblock_read_count的值。一般设置为16或更大。
  再次,建立索引除了要进行全表扫描外同时还要对数据进行大量的排序操作,因此,应当调整排序区的大小。
   9i之前,可以在session级别上加大sort_area_size的大小,比如设置为100m或者更大。
   9i以后,如果初始化参数workarea_size_policy的值为TRUE,则排序区从pga_aggregate_target里自动分配获得。
  最后,建立索引的时候,可以加上nologging选项。以减少在建立索引过程中产生的大量redo,从而提高执行的速度。
阅读(1819) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~