
第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能
缺点:
第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间
就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
1,什么是索引
索引是关系数据库中对数据库表中一列或所列数据进行排序的存储结构。好比是字典的目录
2,索引的应用场景
数据库中存放大量的数据时,直行sql语句将花费较大时间,时间过长将影响用户体验,并且我们应用中大多数接口都具有查询功能,最后都将落在数据库查询中,所以需要提高数据库查询的速度就需要使用到索引,就像通过目录查字典就会很快查到结果
3,数据库查询原理
通过IO读写在磁盘中一块一块查找目标数据,该过程称为全表扫描
4,IO读写是在磁盘中一条一条查,索引也是如此,为什么索引快
因为索引采用了不同的数据结构(B+树),该数据结构在查询上有明显优势
5,索引的分类
主键索引,普通索引,唯一索引,联合索引,全文索引。
其中联合索引需要满足最左前缀法则才能实现索引。
6,索引的物理存放位置
innoDB类型的索引与数据存放在一个文件中
myisam类型的索引和数据分别存放在两个文件中
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)