- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库原理及应用实验三数据表的管理(二)
评分 签名 日期
实验报告
课程名称 数据结构
实验名称 数据表的管理(二)
专业班级 信管1001
姓 名
学 号
实验日期
实验地点
一、实验目的
1. 复习数据表的创建与修改的操作方法
2. 熟悉索引的类型和用途
3. 掌握索引的创建与修改方法 二、实验内容
1.修改数据表
2.创建索引
3.修改索引
4.删除索引 三、实验环境
Windows XP操作系统、Microsoft SQL Server2005 四、相关知识
索引是依赖数据表建立的,一个数据表的存储包括两个组成部分,一部分是用来存放数据的数据页,另一部分是用来存放索引的索引页。通常索引页比数据页的数据量要小得多,当进行数据查询时,SQL Server 先去搜索索引页,从中找到所需的数据指针,再通过指针从数据页中读取数据。索引提供指针以指向存储在表中指定列的数据值,然后根据指定排序次序排列这些指针。合理地利用索引,将大大提高数据库的检索速度和数据库的性能。但是,享受索引带来的好处是有代价的,一是带索引的表在数据库中会占据更多的空间,二是为了维护索引,对数据进行插入、修改、删除等操作的命令所花费的时间会更长些。因此,在设计和创建索引时,要确保对性能的提高程度大于在存储空间和处理资源方面所付出的代价。
1. 索引的创建
数据的索引可以在“Microsoft SQL Server Management Studio”的【对象资源管理器】
中展开【数据库】,然后再展开要在其中建表的数据库文件,再展开【表】和相应的数据表,然后在【索引】上右击鼠标,选择【新建索引】,在新建索引对话框中设置【索引名称】、【索引类型】、【唯一】及【索引键列】,就可以完成索引的创建,或者在查询编辑器中输入CREATEINDEX 语句也可以实现给表创建索引。
建立索引的常用命令格式为:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX 索引名
ON 表名(列名[次序][,列名[次序] ]…);
其中,表名指定要建索引的基本表名字,索引可以建立在该表的一列或多列上,各
列名之间用逗号分隔,用次序指定索引值的排列次序,升序:ASC,降序:DESC。缺省
值为ASC。
UNIQUE 表明此索引的每一个索引值只对应唯一的数据记录。
CLUSTERED 表示要建立的索引是聚集索引。
NONCLUSTERED 表示要建立的索引为非聚集索引。
注意:
(1)每张表只能有一个聚集索引,并且应该最先建立。
(2)创建索引所需要的空间来自用户数据库,所以要保证要有足够的空间创建聚
集索引。
(3)为一个表的创建主键字段和UNIQUE 字段约束后所会自动生成相应的索引。
(4)默认设置时不是建立聚集索引,而是建立的非聚簇索引。一个表中最多可以
创建249 个非聚集索引。
建立索引时,不选参数CLUSTERED,则建立的是非聚集索引,表的物理顺序与索引顺
序不一致,表中的数据没有按照索引的顺序而排列,索引是由具有层次性的索引页面组成的。
2. 索引的修改
T-SQL 语言中提供了ALTER INDEX 语句来修改索引,其主要代码为:
ALTER INDEX {index_name|ALL} --指定索引名或所有索引
ON[database_name].table_or_view name --指定数据表或视图
{REBUILD --重新生成索引
[ [ WITH
(PAD_INDEX = { ON | OFF } --设置是否使用索引填充
| FILLFACTOR = fillfactor --设置填充因子大小
| SORT_IN_TEMPDB = { ON | OFF } --是否在tempdb 数据库中存储临时排序结果
| IGNORE_DUP_KEY = { ON | OFF } --是否忽略重复的值
| STATISTICS_NORECOMPUTE = { ON | OFF } --设置是否自动计算统计信息
| ALLOW_ROW_LOCKS = { ON | OFF } --在访问索引时使用行锁
| ALLOW_PAGE_LOCKS = { ON | OFF } --在访问索引时使用列锁
| MAXDOP = max_degree_of_parallelism --设置最大并并行数
[,…n])
]
]
]
| DISABLE --禁用索引
| REORGANIZE --重新组织的索引叶级
[ PARTITION = partition_numb
文档评论(0)