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 在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长
 
 
 
 
作者 黑鸟酱
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • sql常见面试题
  • SQL SERVER 2005性能之跟踪
  • SQL编程(一)
  • LINUX上RMAN自动备份脚本
  • sql server面试题
  • 如何将多个SQL查询统计结果一次显示出来
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • SQL小技巧系列 --- 行转列合并
  • sql server 列转行

数据库技术导航

SqlserverMysqlOracleDB2数据库数据库综合
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1