索引


什么是索引?

索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此定位查询数据。对于索引,会保存在额外的文件中。索引是帮助MySQL高效获取数

据的数据结构。

有哪些索引?

从存储结构.上来划分: BTree索引,hash索引,full-index全文索引, R -Tree索引。

从应用层次来分:普通索引,唯一一索引,复合索引。

从数据的物理顺序和键值逻辑顺序关系分为:聚集索引,非聚集索引。

平时讲的索引类型一般是指在应用层次的划分:

普通索引:即一个索引只包含单个列,一个表可以有多个单列索引。

复合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合

并。

唯一-索引:索引列的值必须唯一-,但允许有空值。

索引的优缺点?

优点:

1.加快了数据的检索速度。

2.创建唯一 -性索引,保证数据库表中每一-行数据的唯一-性。

3.加快表与表之间的连接。

4.在使用分组和排序子句进行数据检索时,可以显著减少查询中的分组和排序

的时间。

缺点:

1.索引需要占物理空间。除了数据表占数据空间之外,每个索引还要占一-定的

物理空间,如果要建立聚簇索引,那么需要的空间就会更大。

2.当对表中的数据进行增加,删除和修改的时候,索引也要动态的维护,降低

了数据的维护速度。

3.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

什么时候适合建立索引?

1.主键自动建立唯一索引。

2.频繁作为查询条件的字段应该创建索引。

3.查询 与其他表关联的字段,外键关系建立索引。

4.单键,组合索引的选择问题,组合索引性价比更高。

5.查询中排序的字段,排序字段若通过索引去访问将大大提高排序速度。

6.查询中做统计数据的时候,通常会对该字段进行一种数据的汇总统计,在分

组查询的时候也是一- 样的意思,这个时候,建立建立索引。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容