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

转载 2012年03月23日 16:30:17

对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段-数据库专栏,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,从而提高执行的速度。

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

SQL Server 创建索引时的注意事项

SQL code --创建索引时的注意事项 /****************************************************************************...
  • shapali
  • shapali
  • 2012年08月20日 11:06
  • 192

建立合理的索引提高SQL Server的性能

建立合理的索引提高SQL Server的性能- 标签:索引,性能优化 建立合理的索引提高SQL Server的性能 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统...

MS SQL 查询数据库中所有索引以及对应的表字段 SQL Server Profiler性能跟踪

新项目上线,需要对库里的表进行相关索引检查。这儿首先需要查看一下库里的表那些有索引,然后用SQL Server Profiler进行跟踪,检查SQL语句性能,查询频率等。 查询库里所有索引相关信...
  • qxyywy
  • qxyywy
  • 2014年06月18日 11:36
  • 798

用索引提高SQL Server性能

特别说明:在微软的SQL Server系统中通过有效的使用索引可以提高数据库的查询性能,但是性能的提高取决于数据库的实现。在本文中将会告诉你如何实现索引并有效的提高数据库的性能。 在关系型数据库中...
  • cnLiou
  • cnLiou
  • 2013年06月15日 07:04
  • 308

SQL Server 2000 索引视图提高性能2

创建索引视图 创建索引视图所需的步骤与视图的成功实现密不可分。 确保将在视图中引用的所有现有表的 SET 选项都正确。 创建任何新表和视图之前,确保会话的 SET 选项已正确设置。 确保视图定...
  • cswhale
  • cswhale
  • 2011年12月14日 20:02
  • 569

SQL Server 性能调优2 之索引(Index)的建立

前言 索引之关系数据库中最重要的对象之一,他能显著减少磁盘I/O及逻辑读取的消耗,并以此来提升 SELECT 语句的查找性能。但它是一把双刃剑,使用不当反而会影响性能:他需要额外的控件来存放这些索引信...
  • sqlchen
  • sqlchen
  • 2014年07月01日 19:44
  • 1498

通过 SQL Server 2005 索引视图提高性能

摘要:本文档介绍了 SQL Server 2005 Enterprise Edition 中经过改进的索引视图功能。文中对索引视图进行了说明介绍,并讨论了可通过该功能改善性能的一些具体情况。 什么是索...
  • ljsql
  • ljsql
  • 2011年04月12日 00:00
  • 511

使用 SQL Server 2000 索引视图提高性能1

什么是索引视图? 许多年来,Microsoft SQL Server" 一直都提供创建虚拟表(称为视图)的功能。在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数...
  • cswhale
  • cswhale
  • 2011年12月14日 20:09
  • 666

重建索引提高SQL Server性能

大多数SQL Server表需要索引来提高数据的访问速度,如果没有索引,SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引,簇索引通过重排表中的数...

DBCC DBREINDEX重建索引提高SQL Server性能

DBCC DBREINDEX重建索引提高SQL Server性能
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段-数据库专栏,SQL Server
举报原因:
原因补充:

(最多只允许输入30个字)