System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种动态索引优化方法、装置、系统及存储介质制造方法及图纸_技高网

一种动态索引优化方法、装置、系统及存储介质制造方法及图纸

技术编号:43088839 阅读:10 留言:0更新日期:2024-10-26 09:37
本申请公开一种动态索引优化方法、装置、系统及存储介质,涉及电数字数据处理技术领域。该方法包括拦截对数据库的查询操作,根据查询字段和查询时长记录日志;配置急需优化时长和需要优化时长;根据查询字段是否为空和查询时长与急需优化时长的关系记录查询操作、进行优化或进行日志提醒;通过慢查询的计算结果是否大于优化阈值和查询字段与索引是否匹配进行索引优化。本申请实施例减少了数据库的查询时间,提升了整体的数据访问效率,节省了人力资源,减少了人为错误的可能性,更好地适应不同的应用场景和需求,提高了数据库查询效率和减少了资源消耗,提升了用户满意度。

【技术实现步骤摘要】

本申请属于电数字数据处理,尤其涉及一种动态索引优化方法、装置、系统及存储介质


技术介绍

1、随着系统业务的不断扩展,数据查询场景的逐渐复杂化,使用人数的增多以及数据量的日益增长,系统在查询数据时可能会出现性能瓶颈,导致数据查询速度缓慢。

2、传统的方法依赖于管理员根据经验和查询需求手动创建和维护索引,这种方式虽然直接,但在数据规模和查询模式变化时,往往难以及时调整,导致查询性能下降。传统的静态索引管理方式依赖于管理员手动创建和维护索引,这种方式不仅耗时费力,还需要管理员具备较高的数据库管理技能,当数据规模和查询模式频繁变化时,手动调整索引往往无法及时响应,导致查询性能下降。

3、随着业务的发展和数据量的增加,手动管理索引变得越来越复杂。频繁的索引更新、创建和删除操作不仅耗时费力,还可能影响数据库的性能。为了应对这些挑战,开发一种能够自动化、动态维护索引的方法显得尤为重要。


技术实现思路

1、本申请的目的,在于提供一种动态索引优化方法、装置、系统及存储介质,针对数据库查询优化和日志记录的方法,旨在通过拦截对数据库查询操作,对慢查询操作进行记录,定期分析记录数据、配置优化阈值以及根据查询字段与索引的匹配程度来自动或手动优化数据库索引,从而提高查询效率。

2、为了达成上述目的,本申请的解决方案是:

3、第一方面,本申请实施例提供一种动态索引优化方法,包括:

4、拦截对数据库的查询操作,获取查询操作的查询数据集合,查询数据集合包括集合名称、查询字段和查询时长;

5、配置急需优化时长和需要优化时长;当查询字段不为空且查询时长小于急需优化时长时,记录查询操作的集合名称、查询字段和查询时长;当查询字段不为空且查询时长大于急需优化时长时,进行索引优化;当查询字段为空且查询时长大于需要优化时长时,进行日志提醒;

6、获取原始索引记录表,根据原始索引记录表对查询数据集合进行处理,得到处理后的查询数据集合;配置优化阈值,遍历处理后的查询数据集合,通过慢查询对处理后的查询数据集合进行计算,得到计算结果;

7、提取原始索引记录表中记录的已建索引,已建索引包括复合索引,判断计算结果是否大于优化阈值,若计算结果大于优化阈值,则判断查询字段与已建索引是否匹配,若查询字段与已建索引完全匹配,则进行人工调试;若查询字段符合已建索引的前缀,且长度大于已建索引,则扩充复合索引;若查询数据集合不存在索引或者查询字段与已建索引完全不匹配,则创建新的索引。

8、根据本申请实施例的上述方法,还可以具有以下附加技术特征:

9、进一步的,根据原始索引记录表对查询数据集合进行处理,得到处理后的查询数据集合,包括:

10、获取原始索引记录表,若原始索引记录表为空,则判断具有相同集合名称的查询字段是否符合前缀匹配条件,若符合前缀匹配条件,则创建复合索引;若不符合前缀匹配条件,则创建单个索引。

11、进一步的,根据原始索引记录表对查询数据集合进行处理,得到处理后的查询数据集合,包括:

12、获取原始索引记录表,若原始索引记录表不为空,则遍历原始索引记录表,判断具有相同集合名称的查询字段是否符合已建索引的前缀,若符合已建索引的前缀,则移除复合索引中的多余字段;若不符合已建索引的前缀,则删除已建索引。

13、进一步的,方法包括:

14、配置日志分析天数,根据日志分析天数获取日志中的查询记录,对查询记录进行处理,处理方法包括根据集合名称和查询字段进行分类,记录相同查询字段的查询次数并获取平均查询时长。

15、进一步的,通过慢查询对处理后的查询数据集合进行计算,得到计算结果,慢查询的计算公式如下所示:

16、

17、其中, 表示计算结果;表示平均查询时长; 表示查询数据集合的对数表示;表示模糊查询因子;表示查询频次因子。

18、进一步的,慢查询公式中,判断查询方式是否为模糊查询,若查询方式为模糊查询,则不影响平均查询时长。

19、进一步的,慢查询公式中,配置查询频次基数,若查询频次因子小于查询频次基数,则不影响平均查询时长。

20、第二方面,本申请实施例提供一种动态索引优化装置,包括:

21、查询拦截模块,被配置为用于拦截对数据库的查询操作,获取查询操作的查询数据集合,查询数据集合包括集合名称、查询字段和查询时长;

22、日志记录模块,被配置为用于配置急需优化时长和需要优化时长;当查询字段不为空且查询时长小于急需优化时长时,记录查询操作的集合名称、查询字段和查询时长;当查询字段不为空且查询时长大于急需优化时长时,进行索引优化;当查询字段为空且查询时长大于需要优化时长时,进行日志提醒;

23、索引管理模块,被配置为用于获取原始索引记录表,根据原始索引记录表对查询数据集合进行处理,得到处理后的查询数据集合;配置优化阈值,遍历处理后的查询数据集合,通过慢查询对处理后的查询数据集合进行计算,得到计算结果;

24、索引优化模块,被配置为用于提取原始索引记录表中记录的已建索引,已建索引包括复合索引,判断计算结果是否大于优化阈值,若计算结果大于优化阈值,则判断查询字段与已建索引是否匹配,若查询字段与已建索引完全匹配,则进行人工调试;若查询字段符合已建索引的前缀,且长度大于已建索引,则扩充复合索引;若查询数据集合不存在索引或者查询字段与已建索引完全不匹配,则创建新的索引。

25、第三方面,本申请实施例提供了一种动态索引优化系统,系统包括处理器和存储器,存储器中存储有计算机程序,计算机程序由处理器加载并执行,以实现如本申请实施例第一方面提供的动态索引优化方法。

26、第四方面,本申请实施例提供了一种计算机可读存储介质,存储介质中存储有计算机程序,计算机程序被处理器执行时,用于实现如本申请实施例第一方面的动态索引优化方法。

27、采用本申请实施例提供的动态索引优化方法,与现有技术相比,具有如下有益技术效果:

28、本申请实施例通过拦截查询操作、对慢查询进行记录和定期分析记录,识别出性能瓶颈,即查询耗时较长的操作,并据此进行索引优化,显著减少了数据库的查询时间,提升了整体的数据访问效率。

29、本申请实施例实现了查询优化过程的自动化,减少了人工介入的需要,通过自动分析查询记录,判断是否需要优化,并根据查询字段与索引的匹配程度自动调整索引结构,节省了人力资源,减少了人为错误的可能性。

30、本申请实施例根据查询字段和查询时长的不同情况,采取不同的优化策略,对于查询字段明确且查询时长较长的操作,优先进行索引优化;对于查询字段不明确或查询频次较低的操作,则通过日志提醒或调整查询逻辑来优化,更好地适应不同的应用场景和需求。

31、本申请实施例通过日志记录和分析,积累大量的查询数据,为后续的性能调优和故障诊断提供有力支持。...

【技术保护点】

1.一种动态索引优化方法,其特征在于,所述方法包括:

2.如权利要求1所述的一种动态索引优化方法,其特征在于,所述根据原始索引记录表对所述查询数据集合进行处理,得到处理后的查询数据集合,包括:

3.如权利要求1所述的一种动态索引优化方法,其特征在于,所述根据原始索引记录表对所述查询数据集合进行处理,得到处理后的查询数据集合,包括:

4.如权利要求1所述的一种动态索引优化方法,其特征在于,所述方法包括:

5.如权利要求4所述的一种动态索引优化方法,其特征在于,所述通过慢查询对所述处理后的查询数据集合进行计算,得到计算结果,慢查询的计算公式如下所示:

6.如权利要求5所述的一种动态索引优化方法,其特征在于,所述慢查询公式中,判断查询方式是否为模糊查询,若所述查询方式为模糊查询,则不影响所述平均查询时长。

7.如权利要求5所述的一种动态索引优化方法,其特征在于,所述慢查询公式中,配置查询频次基数,若所述查询频次因子小于所述查询频次基数,则不影响所述平均查询时长。

8.一种动态索引优化装置,其特征在于,所述装置包括:

9.一种动态索引优化系统,所述系统包括处理器和存储器,所述存储器中存储有计算机程序,其特征在于,所述计算机程序由所述处理器加载并执行,以实现如权利要求1至7任一项所述的一种动态索引优化方法。

10.一种计算机可读存储介质,所述存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,用于实现如权利要求1至7任一项所述的一种动态索引优化方法。

...

【技术特征摘要】

1.一种动态索引优化方法,其特征在于,所述方法包括:

2.如权利要求1所述的一种动态索引优化方法,其特征在于,所述根据原始索引记录表对所述查询数据集合进行处理,得到处理后的查询数据集合,包括:

3.如权利要求1所述的一种动态索引优化方法,其特征在于,所述根据原始索引记录表对所述查询数据集合进行处理,得到处理后的查询数据集合,包括:

4.如权利要求1所述的一种动态索引优化方法,其特征在于,所述方法包括:

5.如权利要求4所述的一种动态索引优化方法,其特征在于,所述通过慢查询对所述处理后的查询数据集合进行计算,得到计算结果,慢查询的计算公式如下所示:

6.如权利要求5所述的一种动态索引优化方法,其特征在于,所述慢查询公式中,判断查...

【专利技术属性】
技术研发人员:李传咏杜鑫杨国京
申请(专利权)人:西安博达软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1