对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段-数据库专栏,SQL Server

来源:互联网 发布:115会员淘宝在哪买 编辑:程序博客网 时间:2024/06/05 04:03

对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段-数据库专栏,SQL Server

发布时间:2007-12-25 21:46:46  来源:  作者:  点击:356

一、注意事项:
首先,应当考虑表空间和磁盘空间是否足够。我们知道索引也是一种数据,在建立索引的时候势必也会占用大量表空间。因此在对一大表建立索引的时候首先应当考虑的是空间容量问题。

其次,在对建立索引的时候要对表进行加锁,因此应当注意操作在业务空闲的时候进行。

二、性能调整方面:
首当其冲的考虑因素便是磁盘i/o。物理上,应当尽量把索引与数据分散到不同的磁盘上(不考虑阵列的情况)。逻辑上,数据表空间与索引表空间分开。这是在建索引时应当遵守的基本准则。

其次,我们知道,在建立索引的时候要对表进行全表的扫描工作,因此,应当考虑调大初始化参数db_file_multiblock_read_count的值。一般设置为16或更大。

再次,建立索引除了要进行全表扫描外同时还要对数据进行大量的排序操作,因此,应当调整排序区的大小。
   Arrayi之前,可以在session级别上加大sort_area_size的大小,比如设置为100m或者更大。
   Arrayi以后,如果初始化参数workarea_size_policy的值为true,则排序区从pga_aggregate_target里自动分配获得。

最后,建立索引的时候,可以加上nologging选项。以减少在建立索引过程中产生的大量redo,从而提高执行的速度。

  • 以上内容由 华夏名网 搜集整理,如转载请注明原文出处,并保留这一部分内容。

  • 原创粉丝点击