索引分类

聚簇索引:像目录表,目录表的顺序和实际的页码是一致的
特点:每个表只能有一个聚簇索引。
 取数据比建立了非聚簇索引快
-----------------------------------------------------------------------------------------------
非聚簇索引:像标准的索引表。通常索引表中的顺序和实际的页码不一致。
特点:数据量大时,可以提高查询速度。相应的  insert  update  就慢了 
      可以建立多个非聚簇索引。      249个 


为什么:索引可以提高检索效率,因为它的二叉树结构以及占用空间小,所以访问速度块。让我们来算一道数学题:如果表中的一条记录在磁盘上占用1000字节的话,我们对其中10字节的一个字段建立索引,那么该记录对应的索引块的大小只有10字节。我们知道,SQL Server的最小空间分配单元是“页(Page)”,一个页在磁盘上占用8K空间,那么这一个页可以存储上述记录8条,但可以存储索引800条。现在我们要从一个有8000条记录的表中检索符合某个条件的记录,如果没有索引的话,我们可能需要遍历8000条×1000字节/8K字节=1000个页面才能够找到结果。如果在检索字段上有上述索引的话,那么我们可以在8000条×10字节/8K字节=10个页面中就检索到满足条件的索引块,然后根据索引块上的指针逐一找到结果数据块,这样IO访问量要少的多。
索引:经常对某一列进行查询时,就可以对这一列建立索引。
create index idx_s_name on t_stu(s_name);
怎样查看索引:
  --索引是DB的内部的对象,无法查看,
  --由DB自动使用
如果要经常对多个列进行查询:
--复合索引
create index idx_s_sname on t_stu (s_name, sex);

删除索引:
drop index xxxx;
注意:有些约束本质就是索引
 主键 = 非空 + 唯一约束
                唯一约束 = 唯一索引

 

create index in_id on t(tid);
drop index t.in_id;
select *from f1;
drop index f1.index_id;
create clustered index index_id on f1(fid);
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值