数据库索引优化方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27312056 阅读:23 留言:0更新日期:2021-02-10 09:36
本申请涉及一种数据库索引优化方法、装置、计算机设备和存储介质,通过在从数据库中获取的至少一个流量分片中提取数据库操作信息,数据库操作信息至少包括数据库操作语句和数据库操作语句的执行次数;对数据库操作语句进行数据处理,得到索引信息;在每个流量分片的数据库操作语句中检测至少一个候选因子,并统计携带有候选因子的数据库操作语句的执行次数,候选因子包括携带有预设字符的索引信息和/或已执行的数据库操作语句;根据携带有候选因子的数据库操作语句的执行次数,在至少一个候选因子中筛选出目标因子;根据目标因子,生成指示优化数据库的索引策略,解决了无法高效地定位到索引需求的问题,实现了高效地定位到索引需求的效果。到索引需求的效果。到索引需求的效果。

【技术实现步骤摘要】
数据库索引优化方法、装置、计算机设备和存储介质


[0001]本申请涉及信息检索
,特别是涉及数据库索引优化方法、装置、计算机设备和计算机可读存储介质。

技术介绍

[0002]索引在数据库中的作用是快速找出某个列中一个特定值的行,不使用索引的话,数据库表必须从第一条记录遍历到相关行,表越大,花费的时间越多,但是如果有索引,就能快速的到达某个位置去搜索数据文件。
[0003]为了提升数据检索效率,需要给表建立索引,但索引需要占用物理空间。当表中的数据进行增加、删除和修改的时候,索引也要动态地维护,会相应降低数据的维护速度。因此索引的建立需要不断地优化,否则降低数据访问效率。
[0004]针对上述问题,相关技术(专利号为CN201510767926.8)提出了一种数据库索引优化系统,该系统将数据库操作日志文件,数据库索引通过操作对象提取模块进行提取,然后通过操作对象分类模块进行分类,并将其提交到操作对象分析模块分析处理,通过索引分析模块将出现频率高、查询数据量大的语句进行测试,根据测试结果通过索引优化模块将动态生成索引,并删除使用频率低、测试性能低的索引,通过索引优化模块可以根据数据库要求、特性定交不同的规则库,也可以配置索引缓存,从而提高数据库整体查询性能。
[0005]然而,一方面,上述方案在进行数据库索引优化的过程中,所分析的对象为出现频率高、查询数据量大的语句,分析对象不够精细化,分析结果不够准确,从而无法高效地定位到索引需求;另一方面,需要将操作语句进行粗分类后进行分析,分类存储需要占用空间,空间占有率变大,并且分析复杂度也变高。
[0006]目前针对相关技术中数据库索引优化方案无法高效地定位到索引需求的问题,尚未提出有效的解决方案。

技术实现思路

[0007]本申请实施例提供了一种数据库索引优化方法、装置、计算机设备和存储介质,以至少解决相关技术中数据库索引优化方案无法高效地定位到索引需求的问题。
[0008]第一方面,本申请实施例提供了一种数据库索引优化方法,包括:在从数据库中获取的至少一个流量分片中提取数据库操作信息,其中,所述数据库操作信息包括数据库操作语句、数据库操作语句的执行次数以及数据库操作语句的执行时长;对所述数据库操作语句进行数据处理,得到索引信息,其中,所述索引信息至少包括以下其中一种:索引对象、索引列、索引条件;在每个所述流量分片的所述数据库操作语句中检测至少一个候选因子,并统计携带有所述候选因子的所述数据库操作语句的执行次数,其中,所述候选因子包括携带有预设字符的索引信息和/或已执行的数据库操作语句;根据携带有所述候选因子的所述数据库操作语句的执行次数,在所述至少一个候选因子中筛选出目标因子;根据所述目标因子,生成指示优化所述数据库的索引策略。
[0009]在其中一些实施例中,所述预设字符包括全通配符、左通配符以及运算符,所述候选因子包括携带有所述全通配符的索引列、携带有所述左通配符的索引条件、携带有所述运算符的索引对象、携带有所述运算符的索引条件、已执行的数据库操作语句;在每个所述流量分片的数据库操作语句中检测至少一个候选因子,并统计携带有所述候选因子的数据库操作语句的执行次数包括:在每个所述流量分片的数据库操作语句中检测携带有所述全通配符的索引列,并统计对应于携带有所述全通配符的索引列的数据库操作语句的第一执行次数;在每个所述流量分片的数据库操作语句中检测携带有所述左通配符的索引条件,并统计对应于携带有所述左通配符的索引条件的数据库操作语句的第二执行次数;在每个所述流量分片的数据库操作语句中检测携带有所述运算符的索引对象,并统计对应于携带有所述运算符的索引对象的数据库操作语句的第三执行次数;在每个所述流量分片的数据库操作语句中检测携带有所述运算符的索引条件,并统计对应于携带有所述运算符的索引条件的数据库操作语句的第四执行次数;在每个所述流量分片的数据库操作语句中检测已执行的数据库操作语句,并统计所述已执行的数据库操作语句的第五执行次数。
[0010]在其中一些实施例中,根据所述目标因子,生成指示优化所述数据库的索引策略包括:在所述目标因子包括单个所述候选因子的情况下,生成对应于所述单个候选因子的指示优化所述数据库的索引策略。
[0011]在其中一些实施例中,根据所述目标因子,生成指示优化所述数据库的索引策略包括:在所述目标因子包括多个所述候选因子的情况下,生成对应于多个所述候选因子的指示优化所述数据库的索引策略。
[0012]在其中一些实施例中,根据携带有所述候选因子的所述数据库操作语句的执行次数,在所述至少一个候选因子中筛选出目标因子包括:将每个所述流量分片中统计得到的携带有所述候选因子的数据库操作语句的执行次数输入至预设运算模型,得到与所述数据库操作语句的执行时长强相关的候选因子,并将所述候选因子作为所述目标因子,其中,所述预设运算模型包括通过训练构建的混合高斯模型。
[0013]在其中一些实施例中,对所述数据库操作语句进行数据处理,得到索引信息包括:根据空格符对所述数据库操作语句进行分词处理,得到所述索引信息。
[0014]在其中一些实施例中,对所述数据库操作语句进行数据处理,得到索引信息包括:在所述数据库操作信息中检测用户数据;对所述用户数据进行脱敏处理,确定所述索引信息包括脱敏处理后的所述用户数据,其中,所述脱敏处理包括将所述用户数据设置成预设标记。
[0015]第二方面,本申请实施例提供了一种数据库索引优化装置,包括:
[0016]提取模块,用于在从数据库中获取的至少一个流量分片中提取数据库操作信息,其中,所述数据库操作信息包括数据库操作语句、数据库操作语句的执行次数以及数据库操作语句的执行时长;数据处理模块,用于对所述数据库操作语句进行数据处理,得到索引信息,其中,所述索引信息至少包括以下其中一种:索引对象、索引列、索引条件;统计模块,用于在每个所述流量分片的所述数据库操作语句中检测至少一个候选因子,并统计携带有所述候选因子的所述数据库操作语句的执行次数,其中,所述候选因子包括携带有预设字符的索引信息和/或已执行的数据库操作语句;筛选模块,用于根据携带有所述候选因子的所述数据库操作语句的执行次数,在所述至少一个候选因子中筛选出目标因子;生成模块,
用于根据所述目标因子,生成指示优化所述数据库的索引策略。
[0017]第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据库索引优化方法。
[0018]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面所述的数据库索引优化方法。
[0019]相比于相关技术,本申请实施例提供的数据库索引优化方法、数据库索引优化装置、计算机设备和计算机可读存储介质,通过在从数据库中获取的至少一个流量分片中提取数据库操作信息,其中,数据库操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库索引优化方法,其特征在于,包括:在从数据库中获取的至少一个流量分片中提取数据库操作信息,其中,所述数据库操作信息包括数据库操作语句、数据库操作语句的执行次数以及数据库操作语句的执行时长;对所述数据库操作语句进行数据处理,得到索引信息,其中,所述索引信息至少包括以下其中一种:索引对象、索引列、索引条件;在每个所述流量分片的所述数据库操作语句中检测至少一个候选因子,并统计携带有所述候选因子的所述数据库操作语句的执行次数,其中,所述候选因子包括携带有预设字符的索引信息和/或已执行的数据库操作语句;根据携带有所述候选因子的所述数据库操作语句的执行次数,在所述至少一个候选因子中筛选出目标因子;根据所述目标因子,生成指示优化所述数据库的索引策略。2.根据权利要求1所述的数据库索引优化方法,其特征在于,所述预设字符包括全通配符、左通配符以及运算符,所述候选因子包括携带有所述全通配符的索引列、携带有所述左通配符的索引条件、携带有所述运算符的索引对象、携带有所述运算符的索引条件、已执行的数据库操作语句;在每个所述流量分片的数据库操作语句中检测至少一个候选因子,并统计携带有所述候选因子的数据库操作语句的执行次数包括:在每个所述流量分片的数据库操作语句中检测携带有所述全通配符的索引列,并统计对应于携带有所述全通配符的索引列的数据库操作语句的第一执行次数;在每个所述流量分片的数据库操作语句中检测携带有所述左通配符的索引条件,并统计对应于携带有所述左通配符的索引条件的数据库操作语句的第二执行次数;在每个所述流量分片的数据库操作语句中检测携带有所述运算符的索引对象,并统计对应于携带有所述运算符的索引对象的数据库操作语句的第三执行次数;在每个所述流量分片的数据库操作语句中检测携带有所述运算符的索引条件,并统计对应于携带有所述运算符的索引条件的数据库操作语句的第四执行次数;在每个所述流量分片的数据库操作语句中检测已执行的数据库操作语句,并统计所述已执行的数据库操作语句的第五执行次数。3.根据权利要求2所述的数据库索引优化方法,其特征在于,根据所述目标因子,生成指示优化所述数据库的索引策略包括:在所述目标因子包括单个所述候选因子的情况下,生成对应于所述单个候选因子的指示优化所述数据库的索引策略。4.根据权利要求2所述的数据库索引优化方法,其特征在于,根据所述目标因子,生成指示优化所述数据库的索引策略包括...

【专利技术属性】
技术研发人员:邵宛岩范渊刘博
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:

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

1