首页 > 其他分享 >项目中索引的真实应用场景-2022新项目

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

时间:2022-08-28 22:27:03浏览次数:60  
标签:唯一性 项目 创建 查询 索引 2022 数据 ID

一、业务场景

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

三、应用场景

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

标签:唯一性,项目,创建,查询,索引,2022,数据,ID
From: https://www.cnblogs.com/yilangcode/p/16633856.html

相关文章

  • 100套计算机专业java毕设项目
    100套java开学内卷项目论文源码随你挑今天分享100套计算机Java设计项目,可练手又可当毕设,而且包含了参考论文文档资料;有需要的可以翻翻看    源码获取百度网盘:......
  • 2022 正睿 NOIP 十连测
    Day1100+100+70+60,rank5。A对\(\{a_n\}\)排序后,最优的方案一定是选一个前缀,于是二分一下即可。B钦定\(1\)为根,对于一条非树边\((u_i,v_i)\),在树上\(u_i\leadst......
  • 2022-08-24 day34 第一小组 王鸣赫
    目录JavaScriptJS的数据类型函数(相当于java的方法对象判断和循环常见工具对象JavaScript(独有的)DOM编程DocumentObjectModel获取元素节点innerHTML和innerText新增元素......
  • 2022-08-23 day33 第一小组 王鸣赫
    目录CSS三大特性1、层叠性2、继承性3、优先级常用单位字体背景列表属性盒子模型display的inline、block、inline-block的区别文档流定位定位的left和top、right和bottom和m......
  • 2022.8.28
    看了下斯特林数和多项式,在旁边听hyy和lzx讲课,顺便捉了几个Bug,算是复习了一下计数。写了些多项式。之后打洛谷上的比赛,第二题不会,感觉很神奇。Todo:讲dp。改洛谷比赛题......
  • ECCV2022_Slimmable:(ARM-Net)ARM Any-Time Super-Resolution Method
    Institute:MACLab,DepartmentofArtificialIntelligence,XiamenUniversityAuthor:BohongChen,MingbaoLin,KekaiSheng,MengdanZhang,PeixianChen,KeLi,L......
  • 2022 百度之星初赛 第二场 A
    A题:题目:  双指针,莫队回滚,线段树,归并树都可以过线段树:做法1.给每个节点存当前区间前k大的数做法2.存最大值和它的位置#defineintllconstintN=1e5+10;......
  • Nuget 多项目复合打包
    我这里有个进程间通信组件,用于提供多应用间通信的解决方案。进程间通信,分为客户端和服务端,俩端肯定会有些共性代码,所以加了个H3C.Channel.Core项目因为之前还不太了解nu......
  • Git 11 不同项目设置不同提交人
    参考https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0版本2.35.1.2前面介绍了可以给Git设置全局提交人,这样当前电脑所有项目提交人都会变......
  • 报告分享|2022广告营销行业人才趋势报告
    原文链接:http://tecdat.cn/?p=283392022上半年疫情反复,对广告营销行业产生了不小的影响,不少广告营销人的职业发展受限,广告公司也面临招人难等问题。此外,在广告营销行业存......