sql server索引简介(2)
来源:未知 责任编辑:责任编辑 发表时间:2013-12-22 14:56 点击:次
提示: SQL Server 中,一个表只能创建 1 个聚集索引,多个非聚集索引。设置某列为主键,该列就默认为聚集索引
如何创建索引
使用 T-SQL 语句创建索引的语法:
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]
INDEX index_name
ON table_name (column_name…)
[WITH FILLFACTOR=x]
q UNIQUE 表示唯一索引,可选
q CLUSTERED 、 NONCLUSTERED 表示聚集索引还是非聚集索引,可选
q FILLFACTOR 表示填充因子,指定一个 0 到 100 之间的值,该值指示索引页填满的空间所占的百分比
在 stuMarks 表的 writtenExam 列创建索引:
USE stuDB
GO
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'IX_writtenExam')
DROP INDEX stuMarks.IX_writtenExam
/*-- 笔试列创建非聚集索引:填充因子为 30 % --*/
CREATE NONCLUSTERED INDEX IX_writtenExam
ON stuMarks(writtenExam)
WITH FILLFACTOR= 30
GO www.2cto.com
/*----- 指定按索引 IX_writtenExam 查询 ----*/
SELECT * FROM stuMarks (INDEX=IX_writtenExam)
WHERE writtenExam BETWEEN 60 AND 90
虽然我们可以指定 SQL Server 按哪个索引进行数据查询,但一般不需要我们人工指定。 SQL Server 将会根据我们创建的索引,自动优化查询 。
索引的优缺点
• 优点
– 加快访问速度
– 加强行的唯一性
• 缺点
– 带索引的表在数据库中需要更多的存储空间
– 操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新
创建索引的指导原则
• 请按照下列标准选择建立索引的列。
– 该列用于频繁搜索
– 该列用于对数据进行排序
• 请不要使用下面的列创建索引:
– 列中仅包含几个不同的值。
– 表中仅包含几行。为小型表创建索引可能不太划算,因为 SQL Server 在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长
作者 黑鸟酱
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>