基于人工智能的数据库索引创建方法及相关设备技术

技术编号:32829281 阅读:14 留言:0更新日期:2022-03-26 20:37
本发明专利技术涉及人工智能技术领域,提供一种基于人工智能的数据库索引创建方法及相关设备,通过植入埋点捕获应用访问数据库的查询语句,对所述查询语句进行解析,得到多个搜索关键词和要查询的数据表,根据所述数据表计算多个预设指标的特征值,将所述多个预设指标的特征值及所述多个搜索关键词输入至第一随机森林模型中进行预测,得到每个所述搜索关键词对应的第一索引标签,根据每个所述搜索关键词对应的第一索引标签为所述数据表创建第一索引。本发明专利技术能够自动添加索引,不仅减少了索引设计的工作量,提高了索引的创建效率,还提高了索引创建的时效性和准确性。建的时效性和准确性。建的时效性和准确性。

【技术实现步骤摘要】
基于人工智能的数据库索引创建方法及相关设备


[0001]本专利技术涉及人工智能
,具体涉及一种基于人工智能的数据库索引创建方法、装置、电子设备及存储介质。

技术介绍

[0002]面向互联网应用的数据库往往需要支持几千甚至上万的事务处理系统(transaction processing system,TPS),并且响应延迟以毫秒为单位,因此数据库的设计和优化至关重要。目前索引是最为有效,也是实施最快的优化技术之一。
[0003]专利技术人在实现本专利技术的过程中发现,通常在开发阶段就根据搜索的业务场景对表的搜索字段提前增加索引,但存在场景的考虑不全,导致索引的遗漏;另外由于数据分布差异,出现索引选择性不高或者无法命中的情形,在数据量达到百万之后,数据库的性能急剧下降。

技术实现思路

[0004]鉴于以上内容,有必要提出一种基于人工智能的数据库索引创建方法、装置、电子设备及存储介质,通过人工智能的方式自动添加索引,不仅减少了索引设计的工作量,提高了索引的创建效率,还提高了索引创建的时效性和准确性。
[0005]本专利技术的第一方面提供一种基于人工智能的数据库索引创建方法,所述方法包括:
[0006]植入埋点并通过所述埋点捕获应用访问数据库的查询语句;
[0007]对所述查询语句进行解析,得到多个搜索关键词和要查询的数据表;
[0008]根据所述数据表计算多个预设指标的特征值;
[0009]将所述多个预设指标的特征值及所述多个搜索关键词输入至第一随机森林模型中进行预测,得到每个所述搜索关键词对应的第一索引标签;
[0010]根据每个所述搜索关键词对应的第一索引标签为所述数据表创建第一索引。
[0011]根据本专利技术的一个可选的实施方式,所述植入埋点并通过所述埋点捕获应用访问数据库的查询语句包括:
[0012]在后台应用服务中设置埋点服务SDK;
[0013]通过所述埋点服务SDK对外暴露一个数据埋点服务接口;
[0014]当侦测到所述应用对所述数据库的访问信号时,调用所述数据埋点服务接口获取所述应用访问所述数据库的查询语句。
[0015]根据本专利技术的一个可选的实施方式,所述第一随机森林模型的训练过程包括:
[0016]获取多个所述预设指标的历史特征值及多个历史搜索关键词,作为第一训练数据集;
[0017]从所述第一训练数据集中随机抽取k1个训练样本集;
[0018]对所述k1个训练样本集进行学习,以此生成k1个决策树,并在所述k1个决策树的
生成过程中,从k1个决策树的特征变量中随机抽取F1个特征变量,各个内部节点利用所述F1个特征变量上最优的分裂方式来分支,且F1值在随机森林模型的形成过程中设定为恒定常数;
[0019]当满足分支规则时,停止所述k1个决策树的生成过程,得到所述第一随机森林模型。
[0020]根据本专利技术的一个可选的实施方式,所述k1个决策树的生成过程包括:
[0021]随机地给每个所述特征变量加入噪声干扰;
[0022]依据准确率降低的程度来确定每个所述特征变量的重要度;
[0023]依据所述重要度对所述k1个决策树的生成过程进行优化。
[0024]根据本专利技术的一个可选的实施方式,所述方法还包括:
[0025]将所述多个搜索关键词进行两两组合,得到多个组合搜索关键词;
[0026]将所述多个预设指标的特征值及所述多个组合搜索关键词输入至第二随机森林模型中进行预测,得到每个所述组合搜索关键词对应的第二索引标签;
[0027]根据每个所述组合搜索关键词对应的第二索引标签为所述数据表创建第二索引;
[0028]计算多个所述第一索引标签中为预设目标标签值的索引标签的第一数量;
[0029]计算多个所述第二索引标签中为所述预设目标标签值的索引标签的第二数量;
[0030]对所述第一数量及所述第二数量进行比较,得到比较结果;
[0031]根据所述比较结果,确定为所述数据表创建所述第一索引或者所述第二索引。
[0032]根据本专利技术的一个可选的实施方式,所述第二随机森林模型的训练过程包括:
[0033]将所述多个历史搜索关键词进行两两组合,得到多个组合历史搜索关键词;
[0034]将多个所述预设指标的历史特征值及所述多个组合历史搜索关键词作为第二训练数据集;
[0035]基于所述第二训练数据集训练所述第二随机森林模型。
[0036]根据本专利技术的一个可选的实施方式,所述根据所述比较结果,确定为所述数据表创建所述第一索引或者所述第二索引包括:
[0037]当所述比较结果为所述第一数量小于所述第二数量时,确定为所述数据表创建所述第一索引;
[0038]当所述比较结果为所述第一数量大于所述第二数量时,确定为所述数据表创建所述第二索引。
[0039]本专利技术的第二方面提供一种基于人工智能的数据库索引创建装置,所述装置包括:
[0040]获取模块,用于植入埋点并通过所述埋点捕获应用访问数据库的查询语句;
[0041]解析模块,用于对所述查询语句进行解析,得到多个搜索关键词和要查询的数据表;
[0042]计算模块,用于根据所述数据表计算多个预设指标的特征值;
[0043]预测模块,用于将所述多个预设指标的特征值及所述多个搜索关键词输入至第一随机森林模型中进行预测,得到每个所述搜索关键词对应的第一索引标签;
[0044]创建模块,用于根据每个所述搜索关键词对应的第一索引标签为所述数据表创建第一索引。
[0045]本专利技术的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述基于人工智能的数据库索引创建方法。
[0046]本专利技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于人工智能的数据库索引创建方法。
[0047]综上所述,本专利技术所述的基于人工智能的数据库索引创建方法、装置、电子设备及存储介质,通过植入埋点捕获应用访问数据库的查询语句,对所述查询语句进行解析,得到多个搜索关键词和要查询的数据表,根据所述数据表计算多个预设指标的特征值,将所述多个预设指标的特征值及所述多个搜索关键词输入至第一随机森林模型中进行预测,得到每个所述搜索关键词对应的第一索引标签,根据每个所述搜索关键词对应的第一索引标签为所述数据表创建第一索引。本专利技术能够自动添加索引,不仅减少了索引设计的工作量,提高了索引的创建效率,还提高了索引创建的时效性和准确性。
附图说明
[0048]图1是本专利技术实施例一提供的基于人工智能的数据库索引创建方法的流程图。
[0049]图2是本专利技术实施例二提供的基于人工智能的数据库索引创建装置的结构图。
[0050]图3是本专利技术实施例三提供的电子设备的结构示意图。...

【技术保护点】

【技术特征摘要】
1.一种基于人工智能的数据库索引创建方法,其特征在于,所述方法包括:植入埋点并通过所述埋点捕获应用访问数据库的查询语句;对所述查询语句进行解析,得到多个搜索关键词和要查询的数据表;根据所述数据表计算多个预设指标的特征值;将所述多个预设指标的特征值及所述多个搜索关键词输入至第一随机森林模型中进行预测,得到每个所述搜索关键词对应的第一索引标签;根据每个所述搜索关键词对应的第一索引标签为所述数据表创建第一索引。2.如权利要求1所述的基于人工智能的数据库索引创建方法,其特征在于,所述植入埋点并通过所述埋点捕获应用访问数据库的查询语句包括:在后台应用服务中设置埋点服务SDK;通过所述埋点服务SDK对外暴露一个数据埋点服务接口;当侦测到所述应用对所述数据库的访问信号时,调用所述数据埋点服务接口获取所述应用访问所述数据库的查询语句。3.如权利要求1所述的基于人工智能的数据库索引创建方法,其特征在于,所述第一随机森林模型的训练过程包括:获取多个所述预设指标的历史特征值及多个历史搜索关键词,作为第一训练数据集;从所述第一训练数据集中随机抽取k1个训练样本集;对所述k1个训练样本集进行学习,以此生成k1个决策树,并在所述k1个决策树的生成过程中,从k1个决策树的特征变量中随机抽取F1个特征变量,各个内部节点利用所述F1个特征变量上最优的分裂方式来分支,且F1值在随机森林模型的形成过程中设定为恒定常数;当满足分支规则时,停止所述k1个决策树的生成过程,得到所述第一随机森林模型。4.如权利要求3所述的基于人工智能的数据库索引创建方法,其特征在于,所述k1个决策树的生成过程包括:随机地给每个所述特征变量加入噪声干扰;依据准确率降低的程度来确定每个所述特征变量的重要度;依据所述重要度对所述k1个决策树的生成过程进行优化。5.如权利要求1至4中任意一项所述的基于人工智能的数据库索引创建方法,其特征在于,所述方法还包括:将所述多个搜索关键词进行两两组合,得到多个组合搜索关键词;将所述多个预设指标的特征值及所述多个组合搜索关键词输入至第二随机森林模型中进行预测,得到每个所述组合搜索关键词对应的第二索...

【专利技术属性】
技术研发人员:张利兵
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:

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

1