索引分类

xiaoxiao2026-08-20  12

聚簇索引:像目录表,目录表的顺序和实际的页码是一致的特点:每个表只能有一个聚簇索引。 取数据比建立了非聚簇索引快-----------------------------------------------------------------------------------------------非聚簇索引:像标准的索引表。通常索引表中的顺序和实际的页码不一致。特点:数据量大时,可以提高查询速度。相应的  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); 

转载请注明原文地址: https://www.6miu.com/read-5051552.html

最新回复(0)