SQL Server 2000数据库中如何重建索引

在数据库中创建索引时,查询所使用的索引信息存储在索引页中。连续索引页由从一个页到下一个页的指针链接在一起。当对数据的更改影响到索引时,索引中的信息可能会在数据库中分散开来。重建索引可以重新组织索引数据(对于聚集索引还包括表数据)的存储,清除碎片。这可通过减少获得请求数据所需的页读取数来提高磁盘性能。

在 Microsoft SQL Server 2000 中,如果要用一个步骤重新创建索引,而不想删除旧索引并重新创建同一索引,则使用 CREATE INDEX 语句的 DROP_EXISTING 子句可以提高效率。这一优点既适用于聚集索引也适用于非聚集索引。

以删除旧索引然后重新创建同一索引的方式重建聚集索引,是一种昂贵的方法,因为所有二级索引都使用聚集键指向数据行。如果只是删除聚集索引然后重新创建,则会使所有非聚集索引都被删除和重新创建两次。一旦删除聚集索引并再次重建该索引,就会发生这种情形。通过在一个步骤中重新创建索引,可以避免这一昂贵的做法。在一个步骤中重新创建索引时,会告诉 SQL Server 要重新组织现有索引,避免了删除和重新创建非聚集索引这些不必要的工作。该方法的另一个重要优点是可以使用现有索引中的数据排序次序,从而避免了对数据重新排序。这对于聚集索引和非聚集索引都十分有用,可以显著减少重建索引的成本。另外,通过使用 DBCC DBREINDEX 语句,SQL Server 还允许对一个表重建(在一个步骤中)一个或多个索引,而不必单独重建每个索引。

DBCC DBREINDEX 也可用于重建执行 PRIMARY KEY 或 UNIQUE 约束的索引,而不必删除并创建这些约束(因为对于为执行 PRIMARY KEY 或 UNIQUE 约束而创建的索引,必须先删除该约束,然后才能删除该索引)。例如,可能需要在 PRIMARY KEY 约束上重建一个索引,以便为该索引重建给定的填充因子。

时间: 2024-10-24 17:28:13

SQL Server 2000数据库中如何重建索引的相关文章

怎样将Excel中的数据导入到SQL Server 2000数据库中

excel|server|数据|数据库 1.打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入/导出向导,按 下一步 ,2.选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,3.选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据库的话,如 VVV),使用SQL Server身份验证,用户名sa,密码为空,数据库选择要导入数据的数据库(如 c

.net中webform和winform连接sql server 2000数据库的c#操作类

server|web|数据|数据库 一.这个为c#连接winform注意点:(1)调用时必须引用此类的命名空间(2)类中引用的命名空间using System;using System.Data;using System.Data.SqlClient;(3)调用示例: DataSet ds =new DataSet(); string sql="select * from [user]"; ds=DoDataBase.GetDataSet(sql); dataGrid1.DataSou

SQL Server 2000数据库文件组织形式

server|数据|数据库 一.数据文件类型: 每个SQL Server 2000数据库都有一个主数据文件,可以有多个辅数据文件,后者只能供该数据库使用. 二.数据文件命名: 每个数据文件都是一个独立的操作系统文件.主数据文件通常以.mdf为文件后缀(该后缀不是必须的,但对于文件的识别比较有用).主数据文件将数据存储在表格或索引中,它包含数据库的启动信息.它还包含一些系统表格,这些表格记载数据库中的对象,如数据库中所有的其它文件(辅数据文件和事务处理日志文件)的位置信息. 每个辅助数据文件通常都

手工卸载SQL Server 2000数据库

在给各合作学校安装应用系统过程中,发现学校里的SQL SERVER 2000数据库损坏了重装后都发生了同样的问题,那就是安装SQL SERVER数据库不成功.原因:即使你通过控制面板里的"添加/删除程序" 正常的卸载SQL SERVER数据库,但是,SQL SERVER还是没有完全卸载干净,还需要手工进行一些操作.因此重新安装不成功,很多人只好重装系统解决.经过较长时间的摸索和实践总结,我找到了一点技巧方法,在这里与大家分享. 操作步骤: 在进行操作之前,建议备份好注册表以及重要的数据

VB .60条件表达式的sql server 2000数据库执行

问题描述 VB .60条件表达式的sql server 2000数据库执行 用ado在VB中写的条件表达式如何带入sql server2000中执行?怎么根据表达式获取数据集并返回? 解决方案 http://wenku.baidu.com/link?url=MhSBxSbdD2FZljV2fCFGnpzziuNQKaC9xNHa9Ua2lqO8vecw7xW7kZ4NUBOaXgZDplisZZA6dc-wK4cpDr8G1vQk0XiizauriNvlTOt3bcm 解决方案二: SQL Se

ASP视频教程:备份和还原SQL Server 2000数据库

大家在初学ASP程序的时候,我们经常第一个任务就是配置环境!在这里根据网页教学网站长的经验,有时克隆版的XP系统有时是安装不了IIS的!前面我们已经讲解了ASP视频教程:制作网站前台首页,本讲主要讲述备份和还原SQL Server 2000数据库.大家请看视频教程.

sql server 解密-请问Microsoft SQL Server 2005数据库中加密记录解密方法

问题描述 请问Microsoft SQL Server 2005数据库中加密记录解密方法 请问Microsoft SQL Server 2005数据库中类似 0MHCkgK7c4E= 的记录(共12位)是使用什么算法加密得到的?能否提供解密的方式或网址,谢谢! 解决方案 有些用到了base64来加密

SQL Server 2000/2005中数据库自动备份的设

SQL Server 2000的数据库自动备份的设置 1.首先要保证SQL Server Agent服务处于启动状态(在"SQL Server服务管理器"中可以查看和启动,或者在系统服务中) 2.打开"SQL Server 企业管理器"->"管理"->"数据库维护计划" 3.右键选"新建维护计划",选择要执行自动备份的数据库.调度时间.选择备份存放的路径,其他默认即可. 这是SQL Server

学习:在SQL Server 2000 数据仓库中使用分区

server|sql|数据 分区视图联接来自一组成员的水平分区数据,使数据看起来象来自同一张表.SQL Server 2000 区分本地分区视图和分布式分区视图.在本地分区视图中,所有相关表和视图驻留在 SQL Server 的同一实例上.在分布式分区视图中,相关表中至少有一张表驻留在其他某个(远程)服务器上.建议您不要将分布式分区视图用于数据仓库应用程序. 矢量数据仓库围绕事实(标量)和矢量构建,从物理上通常表示为星形架构和雪花形架构,极少有同时包含事实和矢量的完全非正交化的平面表.由于矢量架