测验答案-第8章索引的创建与维护
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测验
填空题
(1) 在SQL Server 2005中,索引分为两大类,分别是、。
答案:聚集索引、非聚集索引
(2) 在一个表中可以定义个聚集索引,个非聚集索引。
答案:一、多
(3) 索引确保索引键不包含重复的值。
答案:唯一
(4) 系统访问数据中数据时,可以采用两种方法,分别是和。
答案:表扫描、索引查找
选择题
(1) 某公司有数据库,其中有一个表包含几十万个数据,但是用户抱怨数据查询速度太慢,下面哪种方法能够最好地提高查询速度。
A. 收缩数据库
B. 换个高档的服务器
C. 减少数据库占用空间
D. 在该表上建立索引
答案:D
(2) 下列不适合建立索引的选项是哪一个。
A. 用作查询条件的列
B. 频繁搜索的列
C. 取值范围很少的列
D. 连接中频繁使用的列
答案:C
(3) 执行下列语句时,系统自动建立几个索引。
CREATE TABLE TEST(
C1 int primary key,
C2 char(4) unique,
C3 bit default 1,
C4 char(4) foreign key references test1(C1)
)
A. 1个
B. 2个
C. 3个
D. 多个
答案:B
(4) 以下哪个命令是在表TABLE的C1列上创建一个唯一的非聚集索引IX1,且索引的中间结点和叶级结点的填满度均为70%。
A. CREATE CLUSTERED INDEX IX1 ON TABLE(C1)
WITH (FILLFACTOR = 50,PAD_INDEX = ON)
B. CREATE NONCLUSTERED INDEX IX1 ON TABLE(C1)
WITH (FILLFACTOR = 50,PAD_INDEX = ON)
C. CREATE UNIQUE INDEX IX1 ON TABLE(C1)
WITH (FILLFACTOR = 50,PAD_INDEX = ON)
D. CREATE UNIQUE CLUSTERED INDEX IX1 ON TABLE(C1)
WITH (FILLFACTOR = 50,PAD_INDEX = ON)
答案:C
判断题
(1) 创建主键约束时系统自动创建聚集索引。
答案:√
(2) 系统自动创建的索引可以手工删除。
答案:×
(3) 一个表可以创建若干个聚集索引。
答案:×
(4) 一个表可以创建若干个非聚集索引。
答案:√
问答题
(1)删除索引时所对应的数据表会删除吗为什么。
答案:不会,因为索引是针对一个表,以表列为基础建立的数据库对象,它保存着表中排序的索引列,并且记录了索引列在数据表中的物理存储位置,实现了表中数据的逻辑排序。删除索引时所对应的数据表中的数据不会删除。
(2)引入索引的主要目的是什么
答案:使用索引的主要目的是提高SQL Server系统的性能,加快数据的查词速度和减少系统的响应时间。索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。索引还可以加速表与表之间的连接,在实现数据的参照完整性时,可以将表的外键制作成索引,这样可以使表和表之间的连接速度加快。
(3)创建索引的缺点有哪些
答案:带索引的表在数据库中占用更多的物理空间,因为除了数据表占用空间之外,索引也需要一定的物理空间;创建索引和维护索引要耗费时间;建立索引加快了数据检索速度,却减慢了数据修改速度。
(4)如何查看索引的碎片
答案:使用DBCC SHOWCONTIG语句来扫描表,并通过其返回值确定该索引页是否已经严重不连续。
(5)说明在SQL Server中聚集索引和非聚集索引的区别。
答案:聚集索引数据表的物理顺序和索引表的顺序相同,它根据表中的一列或多列值的组合对表和视图进行物理排序,有利于范围搜索,最适合于范围搜索,因为相邻的行将被物理地存放在相同或相邻近的页面上。对于非聚簇索引,数据表的物理顺序和索引表的顺序不相同,即表的数据并不是按照索引列排序的。索引是有序的,而表中的数据是无序的。