美文网首页
关于数据库索引

关于数据库索引

作者: sttone | 来源:发表于2020-07-22 17:43 被阅读0次

什么情况下创建索引,什么时候不需要索引?

什么时候需要创建索引
  1. 主键自动建立唯一索引
  2. 频繁作为查询条件的字段应该创建索引
  3. 查询中排序的字段创建索引将大大提高排序的速度(索引就是排序加快速查找
  4. 查询中统计或者分组的字段;
什么时候不需要创建索引
  1. 频繁更新的字段不适合创建索引,因为每次更新不单单是更新记录,还会更新索引,
  2. 保存索引文件where条件里用不到的字段,不创建索引;
  3. 表记录太少,不需要创建索引;
  4. 经常增删改的表;
  5. 数据重复且分布平均的字段,因此为经常查询的和经常排序的字段建立索引。
    注意某些数据包含大量重复数据,因此他建立索引就没有太大的效果,例如性别字段,只有男女,不适合建立索引。
索引的种类有哪些?

虽然使用索引的本质目的是帮我们快速定位想要查找的数据,但实际上,索引有很多种类。
从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯⼀索引、主键索引和全文索引。

普通索引:最基本的索引,它没有任何限制
唯一索引:索引列的值必须唯一,且不能为空,如果是组合索引,则列值的组合必须唯一。
主键索引:特殊的索引,唯一的标识一条记录,不能为空,一般用primary key来约束。
全文索引:全文索引时将存储在数据库中的整本书或整篇文章中的任意内容信息查找出来的技术。

它可以根据需要获取全文中有关章,节,段,句,词等信息,也可以进行各种统计和分析。

普通索引是基础的索引,没有任何约束,主要⽤于提⾼查询效率。
唯⼀索引就是在普通索引的基础上增加了数据 唯⼀性的约束,在⼀张数据表⾥可以有多个唯⼀索引。
主键索引在唯⼀索引的基础上增加了不为空的约束,也就 是 NOT NULLUNIQUE,⼀张表⾥最多只有⼀个主键索引。
全⽂索引用的不多,MySQL自带的全文索引只支持英文。

我们通常可以采用专⻔的全⽂搜索引擎,⽐如 ES ElasticSearch) 和 Solr。
按照物理实现⽅式,索引可以分为 2 种:聚集索引和非聚集索引。
我们也把聚集索引称为⼆级索引或者辅助索引
什么是聚集索引和非聚集索引聚集索引:
类似字典正文内容本身就是一种按照一定规则排列的目录

非聚集索引:这种目录纯粹是目录,正文纯粹是正文的排序方式 每个表只能有一个聚集索引,因为目录只能按照一种方法进行排序 。

聚集索引与⾮聚集索引的原理不同,在使⽤上也有⼀些区别:
  1. 聚集索引的叶⼦节点存储的就是我们的数据记录,⾮聚集索引的叶⼦节点存储的是数据位置。⾮聚集索引不 会影响数据表的物理存储顺序。
  2. ⼀个表只能有⼀个聚集索引,因为只能有⼀种排序存储的⽅式,但可以有多个⾮聚集索引,也就是多个索引目录提供数据检索。
  3. 使用聚集索引的时候,数据的查询效率⾼,但如果对数据进⾏插⼊,删除,更新等操作,效率会⽐⾮聚集索引低。

相关文章

  • 对于Mysql索引的理解

    前言: 对于数据库中的索引,一个非常好的类比是把数据库索引看作是书的索引。如果你有一本关于狗的书,你想要找关于...

  • 关于sql优化的一些总结

    1、非索引优化 2、关于索引 3、数据库读写锁(共享锁、排它锁)

  • MySQL索引原理详解

    学习MySQL数据库索引原理知识,同时了解与性能相关的优化实践。 讲述关于索引的原理,为后面数据库优化提供合适的方...

  • 关于数据库索引

    什么情况下创建索引,什么时候不需要索引? 什么时候需要创建索引 主键自动建立唯一索引 频繁作为查询条件的字段应该创...

  • 数据库索引记录

    本文用来记录数据库索引相关内容; 1】数据库索引分为单列索引,组合索引,全文索引,空间索引 2】单列索引:只有一个...

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • Sql索引优化—转载

    数据库索引使用方式 使用索引是提高数据库查询效率的主要方式,下面从索引结构,索引类型,索引操作,命中索引几个方面来...

  • 数据库 - 索引

    索引 索引 索引的建立对于数据库的高效运行是很重要的。索引可以大大提高数据库的检索速度。 索引分单列索引,组合索引...

  • [Mysql]Mysql索引实现原理及相关优化策略

    数据库索引 数据库索引是什么? A database index is a data structure that...

  • 数据库索引定义和类型

    数据库索引类型及实现方式 1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表...

网友评论

      本文标题:关于数据库索引

      本文链接:https://www.haomeiwen.com/subject/sqytlktx.html