<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_因专注而专业，因专业而职业</title><subtitle type="text">专注于.NET 技术：WinForm自动化,WCF通讯,SCM自动化。</subtitle><id>http://feed.cnblogs.com/blog/u/17864/rss</id><updated>2010-11-16T15:27:26Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/17864/rss"/><entry><id>http://www.cnblogs.com/winzheng/archive/2010/10/05/1844465.html</id><title type="text">[转]DBCC DBREINDEX重建索引提高SQL Server性能</title><summary type="text">        大多数SQL Server表需要索引来提高数据的访问速度，如果没有索引，SQL Server 要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引，簇索引通过重排表中的数据来提高数据的访问速度，而非簇索引则通过维护表中的数据指针来提高数据的索引。</summary><published>2010-10-05T15:02:00Z</published><updated>2010-10-05T15:02:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2010/10/05/1844465.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2010/10/05/1844465.html"/><content type="html">大多数&lt;span style="font-size: 10pt"&gt;SQL Server&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;表需要索引来提高数据的访问速度，如果没有索引，&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;SQL Server &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;要进行表格扫描读取表中的每一个记录才能找到索要的数据。索引可以分为簇索引和非簇索引，簇索引通过重排表中的数据来提高数据的访问速度，而非簇索引则通过维护表中的数据指针来提高数据的索引。&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;1. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;索引的体系结构&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt; text-indent: 0.25in"&gt;&lt;span style="font-size: 10pt"&gt;为什么要不断的维护表的索引？首先，简单介绍一下索引的体系结构。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;SQL Server&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;在硬盘中用&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;8KB&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;页 面在数据库文件内存放数据。缺省情况下这些页面及其包含的数据是无组织的。为了使混乱变为有序，就要生成索引。生成索引后，就有了索引页和数据页，数据页 保存用户写入的数据信息。索引页存放用于检索列的数据值清单（关键字）和索引表中该值所在纪录的地址指针。索引分为簇索引和非簇索引，簇索引实质上是将表 中的数据排序，就好像是字典的索引目录。非簇索引不对数据排序，它只保存了数据的指针地址。向一个带簇索引的表中插入数据，当数据页达到&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;100%&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;时，由于页面没有空间插入新的的纪录，这时就会发生分页，&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;SQL Server &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;将 大约一半的数据从满页中移到空页中，从而生成两个半的满页。这样就有大量的数据空间。簇索引是双向链表，在每一页的头部保存了前一页、后一页地址以及分页 后数据移动的地址，由于新页可能在数据库文件中的任何地方，因此页面的链接不一定指向磁盘的下一个物理页，链接可能指向了另一个区域，这就形成了分块，从 而减慢了系统的速度。对于带簇索引和非簇索引的表来说，非簇索引的关键字是指向簇索引的，而不是指向数据页的本身。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;为了克服数据分块带来的负面影响，需要重构表的索引，这是非常费时的，因此只能在需要时进行。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;可以通过&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;DBCC SHOWCONTIG&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;来确定是否需要重构表的索引。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;2. &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;DBCC SHOWCONTIG&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;用法&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;下面举例来说明&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;DBCC SHOWCONTIG&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;和&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;DBCC REDBINDEX&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;的使用方法。以&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;应用程序中&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;的&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Employee&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;数据&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;表&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;作为例子&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;，在&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; SQL Server&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;的&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Query analyzer&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;输入命令：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; color: green"&gt;use database_name&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; color: green"&gt;declare @table_id int&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; color: green"&gt;set @table_id=object_id('Employee')&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; color: green"&gt;dbcc showcontig(@table_id)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;输出结果：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;DBCC SHOWCONTIG scanning 'Employee' table...&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Table: 'Employee' (1195151303); index ID: 1, database ID: 53&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;TABLE level scan performed.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Pages Scanned................................: 179&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Extents Scanned..............................: 24&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Extent Switches..............................: 24&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Avg. Pages per Extent........................: 7.5&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Scan Density [Best Count:Actual Count].......: 92.00% [23:25]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Logical Scan Fragmentation ..................: 0.56%&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Extent Scan Fragmentation ...................: 12.50%&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Avg. Bytes Free per Page.....................: 552.3&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Avg. Page Density (full).....................: 93.18%&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;DBCC execution completed. If DBCC printed error messages, contact your system administrator.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;通过分析这些结果可以知道该表的索引是否需要重构。如下描述了每一行的意义：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;信息&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;描述&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Pages Scanned&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;表或索引中的长页数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Extents Scanned&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;表或索引中的长区页数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Extent Switches&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DBCC&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;遍历页时从一个区域到另一个区域的次数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Avg. Pages per Extent&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;相关区域中的页数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Scan Density[Best Count:Actual Count]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Best Count&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;是连续链接时的理想区域改变数，&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Actual Count&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;是实际区域改变数，&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Scan Density&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;为&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;100%&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;表示没有分块。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Logical Scan Fragmentation&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;扫描索引页中失序页的百分比&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Extent Scan Fragmentation&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;不实际相邻和包含链路中所有链接页的区域数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Avg. Bytes Free per Page&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;扫描页面中平均自由字节数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Avg. Page Density (full)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;平均页密度，表示页有多满&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;从上面命令的执行结果可以看的出来，&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Best count&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;为&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;23 &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;而&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Actual Count&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;为&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;25&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;这表明&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;orders&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;表有分块需要重构表索引。下面通过&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;DBCC DBREINDEX&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;来重构表的簇索引。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;. DBCC DBREINDEX &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt"&gt;用法&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;重建指定数据库中表的一个或多个索引。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;语法&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;DBCC DBREINDEX&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; [ 'database.owner.table_name'&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ , index_name&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ , fillfactor ]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ] &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ] &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;参数&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;'database.owner.table_name'&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;是要重建其指定的索引的表名。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;数据库、所有者和表名必须符合标识符的规则。有关更多信息，请参见使用标识符。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;如果提供&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; database &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;或&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; owner &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;部分，则必须使用单引号&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; (') &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;将整个&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; database.owner.table_name &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;括起来。如果只指定&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; table_name&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;，则不需要单引号。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;index_name&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;是要重建的索引名。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;索引名必须符合标识符的规则。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;如果未指定&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; index_name &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;或指定为&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; ' '&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;，就要对表的所有索引进行重建。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;fillfactor&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;是创建索引时每个索引页上要用于存储数据的空间百分比。&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;fillfactor &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;替换起始填充因子以作为索引或任何其它重建的非聚集索引（因为已重建聚集索引）的新默认值。如果&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; fillfactor &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;为&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; 0&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;，&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;DBCC DBREINDEX &lt;/span&gt;&lt;span style="font-size: 10pt"&gt;在创建索引时将使用指定的起始&lt;/span&gt;&lt;span style="font-size: 10pt"&gt; fillfactor&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;同样在&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Query Analyzer&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;中输入命令：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt; color: green"&gt;dbcc dbreindex('database_name.dbo.Employee','',90)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;然后再用&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;DBCC SHOWCONTIG&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;查看重构索引后的结果：&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;DBCC SHOWCONTIG scanning 'Employee' table...&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;Table: 'Employee' (1195151303); index ID: 1, database ID: 53&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;TABLE level scan performed.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Pages Scanned................................: 178&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Extents Scanned..............................: 23&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Extent Switches..............................: 22&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Avg. Pages per Extent........................: 7.7&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Scan Density [Best Count:Actual Count].......: 100.00% [23:23]&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Logical Scan Fragmentation ..................: 0.00%&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Extent Scan Fragmentation ...................: 0.00%&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Avg. Bytes Free per Page.....................: 509.5&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;- Avg. Page Density (full).....................: 93.70%&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;DBCC execution completed. If DBCC printed error messages, contact your system administrator.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;通过结果我们可以看到&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;Scan Denity&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;为&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;100%&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;。&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;******&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;原文链接：《如何提高&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;SQL SERVER&lt;/span&gt;&lt;span style="font-size: 10pt"&gt;的性能》&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 0in 0in 0pt"&gt;&lt;span style="font-size: 10pt"&gt;&lt;a href="http://www.csdn.com.cn/database/1142.htm"&gt;http://www.csdn.com.cn/database/1142.htm&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/winzheng/aggbug/1844465.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/winzheng/archive/2010/10/05/1844465.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/09/05/1560660.html</id><title type="text">算法，一个永恒的话题，挑战你的编程之美。</title><summary type="text">               算法，一个永恒的话题，挑战你的编程之美，趣味算法：返回不重复数的实现，你也来实现一下。</summary><published>2009-09-04T17:10:00Z</published><updated>2009-09-04T17:10:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/09/05/1560660.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/09/05/1560660.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/08/24/1553118.html</id><title type="text">QQ群消息：友情提醒。</title><summary type="text">          QQ群消息：友情提醒，希望能让大家受益。</summary><published>2009-08-24T10:27:00Z</published><updated>2009-08-24T10:27:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/08/24/1553118.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/08/24/1553118.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/08/23/1552225.html</id><title type="text">ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的，或考虑向您的类添加 ComVisible 属性。</title><summary type="text">        ObjectForScripting 的类必须对 COM 可见。请确认该对象是公共的，或考虑向您的类添加 ComVisible 属性。WebBrowser在进行C#和JS交互中此异常的处理。</summary><published>2009-08-22T16:31:00Z</published><updated>2009-08-22T16:31:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/08/23/1552225.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/08/23/1552225.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/08/11/1543560.html</id><title type="text">程序出现异常&amp;quot;尝试读取或写入受保护的内存这通常指示其他内存已损坏&amp;quot;</title><summary type="text">      “尝试读取或写入受保护的内存这通常指示其他内存已损坏"。System.AccessViolationException: Attempted to read or write protected memory.This is often an indication that other memory is corrupt.      此类错误屡见不鲜了，特别是图像开发，Com组件操作时，不要期望本文能够给你一个明确的答复，只能给你提供解决问题的思路：解决办法只有一种：慧眼视真或排除法,先看看排除的优先级吧</summary><published>2009-08-11T04:53:00Z</published><updated>2009-08-11T04:53:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/08/11/1543560.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/08/11/1543560.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/08/09/1542506.html</id><title type="text">编码原则十日谈</title><summary type="text">         昨天看到了阿里十周年的海报，整个周末都浸泡在阿里的海洋里，搜寻关于阿里的传说......         "编码原则十日谈"出自阿里开发中心，欣赏倍加，特转载献给大家。</summary><published>2009-08-09T15:33:00Z</published><updated>2009-08-09T15:33:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/08/09/1542506.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/08/09/1542506.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/08/09/1542469.html</id><title type="text">UML中几种类间关系：继承、实现、依赖、关联、聚合、组合的联系与区别</title><summary type="text">          UML中几种类间关系：继承、实现、依赖、关联、聚合、组合的联系与区别</summary><published>2009-08-09T14:28:00Z</published><updated>2009-08-09T14:28:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/08/09/1542469.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/08/09/1542469.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/08/02/1537189.html</id><title type="text">Is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)</title><summary type="text">         Is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)</summary><published>2009-08-02T15:50:00Z</published><updated>2009-08-02T15:50:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/08/02/1537189.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/08/02/1537189.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/07/31/1536167.html</id><title type="text">根据进程名称或者服务名称用WMI获取执行路径和参数</title><summary type="text">     今天下载一个软件，用ClickOnce 部署的，安装完毕，找不到执行文件的路径，岂不郁闷，只看到一个菜单的快捷方式。自己动手，起码可以用进程获取路径吧，看到博问上“winform 获得已启动服务的启动参数 ”，呵呵，这两个貌似一种方法可以解决啊WMI，还记得吗?</summary><published>2009-07-31T10:11:00Z</published><updated>2009-07-31T10:11:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/07/31/1536167.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/07/31/1536167.html"/></entry><entry><id>http://www.cnblogs.com/winzheng/archive/2009/07/24/1529960.html</id><title type="text">设计器加载程序未提供根组件，但没有指出原因</title><summary type="text">        引发类型为“System.ComponentModel.Design.ExceptionCollection”的异常：设计器加载程序未提供根组件，但没有指出原因。         </summary><published>2009-07-24T02:36:00Z</published><updated>2009-07-24T02:36:00Z</updated><author><name>winzheng</name><uri>http://www.cnblogs.com/winzheng/</uri></author><link rel="alternate" href="http://www.cnblogs.com/winzheng/archive/2009/07/24/1529960.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/winzheng/archive/2009/07/24/1529960.html"/></entry></feed>
