在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
/*-----指定按索引 IX_writtenExam 查询----*/
SELECT * FROM stuMarks  (INDEX=IX_writtenExam)
WHERE writtenExam BETWEEN 60 AND 90
  虽然我们可以指定SQL Server按哪个索引进行数据查询,但一般不需要我们人工指定。SQL Server将会根据我们创建的索引,自动优化查询 。
  索引的优缺点
  * 优点
  –加快访问速度
  –加强行的性
  * 缺点
  –带索引的表在数据库中需要更多的存储空间
  –操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新
  创建索引的指导原则
  * 请按照下列标准选择建立索引的列。
  –该列用于频繁搜索
  –该列用于对数据进行排序
  * 请不要使用下面的列创建索引:
  –列中仅包含几个不同的值。
  –表中仅包含几行。为小型表创建索引可能不太划算,因为SQL Server在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长