首页 > 代码库 > 数据库的索引

数据库的索引

http://www.cnblogs.com/king1302217/archive/2010/05/11/1732250.html

索引的优点
大大加快数据的检索速度,这也是创建索引的最主要的原因


索引的缺点
    1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
    2.索引需要占物理空间

 

 

2.1.顺序索引

 顺序索引分为两类,单级索引(不怎么用)和多级索引(通常是B+树,大量使用)。       单级索引就是把所有的索引字段以及对应的文件位置按顺序一个个的排列出来,这种索引查找起来比较慢,因为是顺序存储的,可以使用二分查找法,但是总体来说效率不高

    多级索引实际上就是在单级索引之上再加索引(稀疏索引),也就是指向索引的索引,二级索引上面还可以再加三级索引,可以不停的加,加到最后最上层只剩下一个节点(根节点),就成了一个树状结构了。      我们经常听到B+树就是这个概念,用这个树的目的和红黑树差不多,也是为了尽量保持树的平衡,当然红黑树是二叉树,但B+树就不是二叉树了,节点下面可以有多个子节点

 

 2.2 散列索引 第二种索引叫做散列索引,就是通过散列函数来定位的一种索引,不过很少有单独使用散列索引的,反而是散列文件组织用的比较多。

 

聚集索引和非聚集索引

两者的区别就好像按拼音查找、按偏旁部首查找字典,而前者是顺序的、有章可循的,后者则相反。

 

 

主键就是聚集索引

这种想法笔者认为是极端错误的,是对聚集索引的一种浪费。虽然SQL SERVER默认是在主键上建立聚集索引的,索引建立以后,以后的查询、删除系统会自动根据索引来查找、删除