金融业务数据库的索引推荐方法及装置、设备及存储介质与流程

文档序号:35677749发布日期:2023-10-08 10:29阅读:27来源:国知局
金融业务数据库的索引推荐方法及装置、设备及存储介质与流程

本发明涉及金融数据处理,尤其涉及一种金融业务数据库的索引推荐方法及装置、设备及存储介质。


背景技术:

1、随着金融业务的高速增长,sql服务器收到的慢查询的警告越来越多,慢查询可能会拖累整个金融业务数据库的查询进度,影响数据库的性能。因此有必要治理慢查询情况。

2、目前,对于慢查询的解决手段均凭借个人经验,比如对于简单的sql可以直接人工判断添加索引,但是遇到复杂的sql,如多表join、子查询这样复杂的场景,凭借个人经验进行人工判断往往起不到很大的作用。

3、因此,需要一种可以应对各种慢查询情况的解决方式,提高sql查询效率。


技术实现思路

1、本发明的主要目的在于提供一种金融业务数据库的索引推荐方法及装置、设备及存储介质,可以解决现有技术中的缺少应对各种慢查询情况的解决方式,从而导致sql查询效率降低的问题。

2、为实现上述目的,本发明第一方面提供一种金融业务数据库的索引推荐方法,所述方法包括:

3、在确定所述金融业务数据库的sql查询语句处于慢查询状态时,获取与所述金融业务数据库的元数据以及数据分布特征均相同的目标采样数据库,所述目标采样数据库存储的数据量小于所述金融业务数据库的数据量;

4、对所述sql查询语句中的关键列名进行排列组合,得到所述sql查询语句对应的候选索引集合,所述候选索引集合包括若干候选索引;

5、在所述目标采样数据库中创建所述候选索引,并确定所述目标采样数据库中所述候选索引对应的索引元数据以及数据统计信息,所述数据统计信息用于反映所述候选索引的索引范围的数据分布情况;

6、根据所述数据统计信息以及所述索引元数据,确定各个候选索引的目标索引代价,所述目标索引代价用于反映所述候选索引的索引效率;

7、根据所述候选索引以及所述目标索引代价生成目标索引推荐信息,并将所述目标索引推荐信息输出至预设的金融终端。

8、在一种可行实现方式中,所述获取与所述金融业务数据库的元数据以及数据分布特征均相同的目标采样数据库,之前还包括:

9、获取所述金融业务数据库的元数据以及数据分布特征;

10、基于所述元数据构建预设的采样数据库;

11、利用所述数据分布特征,确定目标采样规则;

12、按照目标采样规则对所述金融业务数据库进行数据采样,得到目标样本数据;

13、将所述目标样本数据以及所述元数据存储至所述采样数据库,得到所述目标采样数据库。

14、在一种可行实现方式中,所述目标索引代价与所述索引效率呈反比,则所述根据所述候选索引以及所述目标索引代价生成目标索引推荐信息,并将所述目标索引推荐信息输出至预设的金融终端,包括:

15、将所述候选索引按照目标索引代价由小到大的顺序进行排列,确定候选索引序列,所述目标索引推荐信息至少包括所述候选索引序列;

16、将所述候选索引序列输出至预设的金融终端。

17、在一种可行实现方式中,所述对所述sql查询语句中的关键列名进行排列组合,得到所述sql查询语句对应的候选索引集合,包括:

18、对所述sql查询语句进行语法树分析处理,确定所述慢查询语句对应的若干树节点;

19、从所述树节点的查询条件函数中提取所述慢查询语句中的关键列名;

20、将所述关键列名进行排列组合处理,确定若干排列组合结果;

21、将每个所述排列组合结果作为一个候选索引,得到所述候选索引集合。

22、在一种可行实现方式中,所述索引元数据至少包括索引定义,所述数据统计信息包括各个索引定义的目标统计数据,则根据所述数据统计信息以及所述索引元数据,确定各个候选索引的目标索引代价,包括:

23、从所述索引元数据中查找所述候选索引的索引定义,得到所述候选索引对应的目标索引定义;

24、根据所述目标索引定义以及所述数据统计信息,确定所述目标索引定义对应的目标统计数据;

25、利用所述目标统计数据,确定各个候选索引的目标索引代价。

26、在一种可行实现方式中,所述目标统计数据至少包括所述候选索引的页面占比数据,所述页面占比数据用于反映所述候选索引的索引数据量大小,则所述利用所述目标统计数据,确定各个候选索引的目标索引代价,包括:

27、利用所述页面占比数据以及预设的页面占比阈值,确定各个候选索引的第一索引代价,所述目标索引代价至少包括所述第一索引代价。

28、在一种可行实现方式中,所述目标统计数据还包括所述候选索引的索引区分度,所述索引区分度用于反映所述候选索引中字段不同值的个数,则所述利用所述目标统计数据,确定各个候选索引的目标索引代价,还包括:

29、利用所述索引区分度以及预设的个数阈值,确定各个候选索引的第二索引代价,所述目标索引代价还包括所述第二索引代价。

30、为实现上述目的,本发明第二方面提供一种金融业务数据库的索引推荐装置,所述装置包括:

31、数据采样模块:用于在确定所述金融业务数据库的sql查询语句处于慢查询状态时,获取与所述金融业务数据库的元数据以及数据分布特征均相同的目标采样数据库,所述目标采样数据库存储的数据量小于所述金融业务数据库的数据量;

32、索引确定模块:用于对所述sql查询语句中的关键列名进行排列组合,得到所述sql查询语句对应的候选索引集合,所述候选索引集合包括若干候选索引;

33、数据获取模块:用于在所述目标采样数据库中创建所述候选索引,并确定所述目标采样数据库中所述候选索引对应的索引元数据以及数据统计信息,所述数据统计信息用于反映所述候选索引的索引范围的数据分布情况;

34、代价确定模块:用于根据所述数据统计信息以及所述索引元数据,确定各个候选索引的目标索引代价,所述目标索引代价用于反映所述候选索引的索引效率;

35、索引推荐模块:用于根据所述候选索引以及所述目标索引代价生成目标索引推荐信息,并将所述目标索引推荐信息输出至预设的金融终端。

36、为实现上述目的,本发明第三方面提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如第一方面及任一可行实现方式所示方法的步骤。

37、为实现上述目的,本发明第四方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如第一方面及任一可行实现方式所示方法的步骤。

38、采用本发明实施例,具有如下有益效果:

39、本发明提供一种金融业务数据库的索引推荐方法,方法包括:在确定金融业务数据库的sql查询语句处于慢查询状态时,获取与金融业务数据库的元数据以及数据分布特征均相同的目标采样数据库,目标采样数据库存储的数据量小于金融业务数据库的数据量;对sql查询语句中的关键列名进行排列组合,得到sql查询语句对应的候选索引集合,候选索引集合包括若干候选索引;在目标采样数据库中创建候选索引,并确定目标采样数据库中候选索引对应的索引元数据以及数据统计信息,数据统计信息用于反映候选索引的索引范围的数据分布情况;根据数据统计信息以及索引元数据,确定各个候选索引的目标索引代价,目标索引代价用于反映候选索引的索引效率;根据候选索引以及目标索引代价生成目标索引推荐信息,并将目标索引推荐信息输出至预设的金融终端。

40、采用上述方式,可以在金融业务数据库的sql查询语句处于慢查询状态时,通过sql查询语句以及目标采样数据库自动确定目标索引推荐信息,相比于人工判断的方式,自动生成目标索引推荐信息的效率更高,可以提高sql查询效率。并且,由于目标采样数据库相比金融数据库的数据量更小,进而在目标采样数据库中构建候选索引,可以更加快速的得到的索引元数据以及统计数据,而又由于目标采样数据库的数据分布特征与元数据均和金融业务数据库相同,因此上述索引元数据以及统计数据可以反映出在金融数据库中构建候选索引得到的真实索引元数据以及统计数据,故最后通过索引元数据以及统计数据得到的目标索引代价可以真实反映出在金融数据库中候选索引的索引代价,体现真实的索引效率,以此提高了目标索引推荐信息的生成效率与准确度,进一步的提高sql查询效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1