项目中索引的真实应用场景-2022新项目

一、业务场景

  项目开发中,数据存储是一定少不了的,不管是存储关系型数据还是还是非关系型数据。可选择的范围也很广,比如mysqlpostgresqloracle,mongodb等等。一般都是根据项目的实际需要来选用数据库。选择数据库后,需要考虑的一个问题就是数据的存储性能,当数据量不多的时候,快一点慢一点影响都不大。可是在项目后期,随着数据量的不断增多,就必须要考虑性能问题,否则用户的使用体验会很差。比如加载一个页面非常慢,做某一个操作花的时间特别长等等。那么如何提升数据库中数据的存取效率呢?这就不得不说数据库索引这个数据结构。简单点说索引就好比是阅读一本书的时候,书中的目录,可以让你快速找到你想看的内容。数据库索引也是同样的道理,可以根据索引快速找到用户想查询的数据。下面就来说说真实项目中,索引使用的一些场景。

三、应用场景

.1.数据表中的更新时间字段创建普通索引;

这个字段创建索引的原因是一般排序的时候会使用到这个字段,还有很多的时间区间查询的时候会使用到这个字段;

.2.具有唯一性的字段,并且这个字段可能会单独作为一项查询条件,这种情况可以创建唯一索引;

比如什么什么编号,或者MQ消息的消息ID字段,可以单独创建一个索引;处理的时候一般会进行消息唯一性处理,会根据消息ID去查询某条数据是否已经处理过了。

.3.某几个字段从业务角度考虑具有唯一性,可以创建联合的唯一索引;

这种情况需要根据真实的业务需求具体分析,可能有两个字段,也可能有三个字段,组合起来具有唯一性。这样在数据入库的时候,就避免了数据重复。因为如果重复插入,会直接报错。

.4.两个字段或者是三个字段建立普通联合索引;

这种索引主要就是为了加快查询效率。

.5.单个字段建立普通索引;

这种处理方式是为了加快查询效率,比如有的按照名称查询时,可以加一个索引,提高查询效率。

.6.关联表中保存的主表中的主键字段;一般会创建普通索引;

这种比较常规,为了加快查询效率而创建的索引;特别是在进行关联查询的时候;

.7.表中的ID,非主键ID,而是业务数据的唯一ID,可以创建一个唯一索引。

这种情况一个是为了确保数据ID的唯一性,还有一个就是为了加快查询效率。

总结:上面的几种情况,是项目当中正在使用的几种方式。项目中几乎所有的表在建表的时候,都创建了索引,就是为了加快数据存取的效率。

自己在今后的工作中也可以借鉴。有其他想法的小伙伴,欢迎留言讨论。

posted @ 2022-08-28 22:10  一只爱阅读的程序员  阅读(992)  评论(0编辑  收藏  举报