索引管理

 

在 SQL Server 中管理索引有三种方法:

¨          SQL 语句

¨          使用【建立索引向导】

¨          使用【企业管理器】

1 SQL 语句

CREATE INDEX 语句的语法如下:

CREATE [ UNIQUE ]

              [ CLUSTERED | NON CLUSTERED]

INDEX < 索引名 >

ON  < 表名 >  ( < 列名 > [,< 列名 > … ] )  

其中:

¨          < 索引名 > 是新建索引的名称。在一个数据库中,索引名是唯一的。

¨          < 表名 > 是建立索引的表名。

¨          < 列名 > 作为索引项的列名,可以是多个列。

只有对表具有建立索引权限的用户才能对该表建立索引。

例 7.16 在职工表上建立一个以工作日期为索引项的索引 gzrq_index ,则使用下列 SQL 语句:  

create index gzrq_index

on zhigong (gzrq)

因为有可能多个职工的工作日期是一样的,所以最好不要建立唯一索引,即不使用 unique 关键字。如果在 “ 工作日期 ” 列使用了唯一索引,那么同年、同月、同日到本单位工作的职工只能有一名职工的信息进入职工表,其他的职工信息是不能插入表中。  

例 7.17  在职工表上建立一个以姓名、工资为索引项的组合索引 mcgz_index ,则使用下列 SQL 语句:  

create index mcgz_index

       on zhigong (zgmc,gz)

删除索引使用 DROP INDEX 语句,其语法如下:

DROP INDEX < 索引名 >

其中 < 索引名 > 是要删除的索引名。

例 7.18 删除前面所建立的索引 mcgz_index ,执行下列语句:

drop index  mcgz_index

因为索引与基表是息息相关的,当表中数据发生变动时,对应的索引项也要随之发生变化。所以删除索引有两种情形:

¨          主动删除索引,使用 SQL 命令:

drop index < 索引名 >

¨          被动删除,当使用 drop table 语句来删除表时。例如,要删除表 student ,则关于该表的定义、数据以及索引都统统删除掉。

索引是一种辅助表,对于大量数据建立索引有助于查询速度。索引也是有代价的,除了占用存储空间之外,还要维护索引与基表之间的一致性。过多索引不一定能提高数据库查询性能,所以,要科学设计索引。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值