测试人员必知必会的SQL知识07

我们今天来说一下索引,前面已经说过一点索引了。今天在啰嗦一下了。


索引主要是不读取全表的时候加查询。索引就好比我们书的目录,它能帮助我们快速的找到要找的内容。SQL Server中主要分为两种:聚集索引和非聚集索引。聚集索引主要特点就是调整索引表顺序的同时也会调整原表的顺序。当创建主键时自动创建聚集索引。一个表只能有一个主键,同样一个表也只能有一个聚集索引。一个聚集索引表最多有16列。非聚集索引就是调整表索引表的同时不会改变原表的顺序。当创建唯一约束时自动创建非聚集索引。一个非聚集索引表最多有249列。这个聚集索引就好比我们新华字典的按拼音检索的那个目录,非聚集索引就好比那个按部首检索了。

唯一索引表示表中任何两个记录的索引值都不同的。

USE TestDB;

--先建个表
CREATE TABLE Book(
	bId int NOT NULL IDENTITY(0001,1),
	bName char(50),
	bPrice real,
	bPress char(100)
);

--建立索引
CREATE INDEX IN_book ON Book(bId ASC);
--ASC是升序
--DESC是降序

--用两列建立索引
CREATE INDEX IN_book1 ON Book(bId ASC,bPrice DESC);

--建立聚集索引
CREATE CLUSTERED INDEX IN_book2 ON Book(bId DESC);

--建立非聚集索引
CREATE NONCLUSTERED INDEX IN_book3 
	ON Book(bId DESC);

--建立唯一索引
CREATE UNIQUE INDEX IN_book4
	ON Book(bID ASC);

--大家看一下这个索引,能不能建立?
CREATE INDEX IN_book ON Book(bId,bPrice DESC);
--失败了吧,因为我们前面建过一个名为IN_book的索引了
--如果我们想要建一个索引,如果存在就删除它,建立新的,该怎么办呢?
CREATE INDEX IN_book ON Book(bId,bPrice DESC)
	WITH DROP_EXISTING; 

--修改索引
--禁用IN_book索引
ALTER INDEX IN_book
	ON Book DISABLE;

--启用索引
ALTER INDEX IN_book
	ON Book REBUILD;

--删除索引
DROP INDEX Book.IN_book2;




  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值