

项目中索引的真实应用场景-2022新项目 - 一只爱阅读的程序员
source link: https://www.cnblogs.com/yilangcode/p/16633856.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

项目中索引的真实应用场景-2022新项目
一、业务场景
项目开发中,数据存储是一定少不了的,不管是存储关系型数据还是还是非关系型数据。可选择的范围也很广,比如mysql,postgresql,oracle,mongodb等等。一般都是根据项目的实际需要来选用数据库。选择数据库后,需要考虑的一个问题就是数据的存储性能,当数据量不多的时候,快一点慢一点影响都不大。可是在项目后期,随着数据量的不断增多,就必须要考虑性能问题,否则用户的使用体验会很差。比如加载一个页面非常慢,做某一个操作花的时间特别长等等。那么如何提升数据库中数据的存取效率呢?这就不得不说数据库索引这个数据结构。简单点说索引就好比是阅读一本书的时候,书中的目录,可以让你快速找到你想看的内容。数据库索引也是同样的道理,可以根据索引快速找到用户想查询的数据。下面就来说说真实项目中,索引使用的一些场景。
三、应用场景
.1.数据表中的更新时间字段创建普通索引;
这个字段创建索引的原因是一般排序的时候会使用到这个字段,还有很多的时间区间查询的时候会使用到这个字段;
.2.具有唯一性的字段,并且这个字段可能会单独作为一项查询条件,这种情况可以创建唯一索引;
比如什么什么编号,或者MQ消息的消息ID字段,可以单独创建一个索引;处理的时候一般会进行消息唯一性处理,会根据消息ID去查询某条数据是否已经处理过了。
.3.某几个字段从业务角度考虑具有唯一性,可以创建联合的唯一索引;
这种情况需要根据真实的业务需求具体分析,可能有两个字段,也可能有三个字段,组合起来具有唯一性。这样在数据入库的时候,就避免了数据重复。因为如果重复插入,会直接报错。
.4.两个字段或者是三个字段建立普通联合索引;
这种索引主要就是为了加快查询效率。
.5.单个字段建立普通索引;
这种处理方式是为了加快查询效率,比如有的按照名称查询时,可以加一个索引,提高查询效率。
.6.关联表中保存的主表中的主键字段;一般会创建普通索引;
这种比较常规,为了加快查询效率而创建的索引;特别是在进行关联查询的时候;
.7.表中的ID,非主键ID,而是业务数据的唯一ID,可以创建一个唯一索引。
这种情况一个是为了确保数据ID的唯一性,还有一个就是为了加快查询效率。
总结:上面的几种情况,是项目当中正在使用的几种方式。项目中几乎所有的表在建表的时候,都创建了索引,就是为了加快数据存取的效率。
自己在今后的工作中也可以借鉴。有其他想法的小伙伴,欢迎留言讨论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK