确定索引的方法、装置、电子设备及存储介质制造方法及图纸

技术编号:23890545 阅读:20 留言:0更新日期:2020-04-22 06:17
本公开关于一种确定索引的方法、装置、电子设备及存储介质。该方法包括:若监测到执行查询操作的耗时超过预设的时长阈值,则确定所述查询操作的查询类型,其中,所述查询类型用于表示查询操作所查询内容的类型;获取指向所述查询类型的至少一个候选索引,并确定通过每个候选索引获取所述查询类型对应内容的查询耗时;根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引,其中,所述目标索引用于执行包含所述查询类型的查询操作。本公开的实施例提供的技术方案,在出现慢查询时,确定对应查询类型的效率最高的目标索引,并在后续将该目标索引用于该查询类型,从而提高查询效率,并且避免非必要的人工优化,减少人力与时间的消耗。

Methods, devices, electronic equipment and storage media for index determination

【技术实现步骤摘要】
确定索引的方法、装置、电子设备及存储介质
本公开涉及计算机软件应用领域,尤其涉及确定索引的方法、装置、电子设备及存储介质。
技术介绍
通过建立索引,可以减少在数据库中查询数据的耗时,并且,针对不同类型的查询需求,可以分别建立不同的索引来提高查询效率。服务器在接收到查询请求后,通常会估算各个索引在本次查询中需要扫描的行数、是否需要重新排序以及是否需要用到临时表,从而估算各个索引在本次查询中的耗时,从而挑选耗时最少的索引来完成本次查询。但是,由于挑选索引时使用的是估算数值,导致挑选到的索引在实际查询中耗时较长。如果查询耗时超过一定阈值,便可以确定为慢查询。在相关技术中,为了避免慢查询影响用户的查询体验,通常采用人工新建更多索引、或者人工指定索引名称的方式,修改代码并重新上线,因此通常需要消耗较多的人力与时间。
技术实现思路
本公开提供一种确定索引的方法、装置、电子设备及存储介质,以至少解决索引优化需要消耗较多人力与时间的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种确定索引的方法,所述方法包括:若监测到执行查询操作的耗时超过预设的时长阈值,则确定所述查询操作的查询类型,其中,所述查询类型用于表示查询操作所查询内容的类型;获取指向所述查询类型的至少一个候选索引,并确定通过每个候选索引获取所述查询类型对应内容的查询耗时;根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引,其中,所述目标索引用于执行包含所述查询类型的查询操作。在一种可能实现方式中,根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引包括:比较各候选索引的查询耗时,从所述至少一个候选索引中确定出查询耗时最短的候选索引;判断查询耗时最短的候选索引是否为执行所述查询操作所使用的索引;若判断出查询耗时最短的候选索引不是执行所述查询操作所使用的索引,则将所述查询耗时最短的候选索引确定所述目标索引。在一种可能实现方式中,在判断查询耗时最短的候选索引是否为执行所述查询操作所使用的索引之后,所述方法还包括:若判断出查询耗时最短的候选索引是执行所述查询操作所使用的索引,则确定所述候选索引中不存在目标索引;生成用于指示优化所述候选索引的提示信息。在一种可能实现方式中,在比较各候选索引的查询耗时之前,所述方法还包括:检测所述各候选索引的查询耗时是否大于预定查询时长;在检测所述各候选索引的查询耗时是否大于预定查询时长之后,所述方法还包括:若检测出所述各候选索引的查询耗时均大于预定查询时长,则确定所述候选索引中不存在目标索引,并生成用于指示优化所述候选索引的提示信息;若检测出所述各候选索引中存在查询耗时不大于预定查询时长的候选索引,则执行比较各候选索引的查询耗时的操作。在一种可能实现方式中,确定通过每个候选索引获取所述查询类型对应内容的查询耗时包括:通过异步执行的方式,确定通过各候选索引获取所述查询类型对应内容的查询耗时。在一种可能实现方式中,获取指向所述查询类型的至少一个候选索引,包括:确定所述查询类型所查询的数据表,所述数据表中包括多个索引;获取所述数据表中的各个索引;从所述各个索引中选出可用于所述查询类型的索引,作为指向所述查询类型的候选索引。根据本公开实施例的第二方面,提供一种确定索引的装置,所述装置包括:类型确定模块,被配置为执行若监测到执行查询操作的耗时超过预设的时长阈值,则确定所述查询操作的查询类型,其中,所述查询类型用于表示查询操作所查询内容的类型;索引获取模块,被配置为执行获取指向所述查询类型的至少一个候选索引,并确定通过每个候选索引获取所述查询类型对应内容的查询耗时;索引选择模块,被配置为执行根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引,其中,所述目标索引用于执行包含所述查询类型的查询操作。在一种可能实现方式中,所述索引选择模块,包括:耗时比较单元,被配置为执行比较各候选索引的查询耗时,从所述至少一个候选索引中确定出查询耗时最短的候选索引;索引判断单元,被配置为执行判断查询耗时最短的候选索引是否为执行所述查询操作所使用的索引;索引选择单元,被配置为执行若判断出查询耗时最短的候选索引不是执行所述查询操作所使用的索引,则将所述查询耗时最短的候选索引确定所述目标索引。在一种可能实现方式中,所述索引选择模块还包括提示生成单元,被配置为执行:在判断查询耗时最短的候选索引是否为执行所述查询操作所使用的索引之后,若判断出查询耗时最短的候选索引是执行所述查询操作所使用的索引,则确定所述候选索引中不存在目标索引;生成用于指示优化所述候选索引的提示信息。在一种可能实现方式中,所述耗时比较单元在比较各候选索引的查询耗时之前,还被配置为执行:检测所述各候选索引的查询耗时是否大于预定查询时长;所述耗时比较单元在检测所述各候选索引的查询耗时是否大于预定查询时长之后,还被配置为执行:若检测出所述各候选索引的查询耗时均大于预定查询时长,则确定所述候选索引中不存在目标索引,并生成用于指示优化所述候选索引的提示信息;若检测出所述各候选索引中存在查询耗时不大于预定查询时长的候选索引,则执行比较各候选索引的查询耗时的操作。在一种可能实现方式中,所述索引获取模块,具体被配置为执行:通过异步执行的方式,确定通过各候选索引获取所述查询类型对应内容的查询耗时。在一种可能实现方式中,所述索引获取模块,具体被配置为执行:确定所述查询类型所查询的数据表,所述数据表中包括多个索引;获取所述数据表中的各个索引;从所述各个索引中选出可用于所述查询类型的索引,作为指向所述查询类型的候选索引。根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述可执行指令,以实现如第一方面以及第一方面的可能实现方式中任一项所述的确定索引的方法。根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面以及第一方面的可能实现方式中任一项所述的确定索引的方法。根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行时,使得所述电子设备能够执行第一方面以及第一方面的可能实现方式中任一项所述的确定索引的方法所执行的操作。本公开的实施例提供的技术方案至少带来以下有益效果:在服务器挑选的索引的查询耗时较长的情况下,可以异步轮询各个索引,根据各个索引的查询时长确定本次查询的查询类型的目标索引,使用该目标索引可以更高效地进行查询,减小后续该查询类型的查询耗时,并且可以避免人工优化索引,减少人力与时间的消耗。应本文档来自技高网...

【技术保护点】
1.一种确定索引的方法,其特征在于,所述方法包括:/n若监测到执行查询操作的耗时超过预设的时长阈值,则确定所述查询操作的查询类型,其中,所述查询类型用于表示查询操作所查询内容的类型;/n获取指向所述查询类型的至少一个候选索引,并确定通过每个候选索引获取所述查询类型对应内容的查询耗时;/n根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引,其中,所述目标索引用于执行包含所述查询类型的查询操作。/n

【技术特征摘要】
1.一种确定索引的方法,其特征在于,所述方法包括:
若监测到执行查询操作的耗时超过预设的时长阈值,则确定所述查询操作的查询类型,其中,所述查询类型用于表示查询操作所查询内容的类型;
获取指向所述查询类型的至少一个候选索引,并确定通过每个候选索引获取所述查询类型对应内容的查询耗时;
根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引,其中,所述目标索引用于执行包含所述查询类型的查询操作。


2.根据权利要求1所述的方法,其特征在于,根据各候选索引的查询耗时,从所述至少一个候选索引中确定出目标索引包括:
比较各候选索引的查询耗时,从所述至少一个候选索引中确定出查询耗时最短的候选索引;
判断查询耗时最短的候选索引是否为执行所述查询操作所使用的索引;
若判断出查询耗时最短的候选索引不是执行所述查询操作所使用的索引,则将所述查询耗时最短的候选索引确定所述目标索引。


3.根据权利要求2所述的方法,其特征在于,在判断查询耗时最短的候选索引是否为执行所述查询操作所使用的索引之后,所述方法还包括:
若判断出查询耗时最短的候选索引是执行所述查询操作所使用的索引,则确定所述候选索引中不存在目标索引;
生成用于指示优化所述候选索引的提示信息。


4.根据权利要求2所述的方法,其特征在于,
在比较各候选索引的查询耗时之前,所述方法还包括:检测所述各候选索引的查询耗时是否大于预定查询时长;
在检测所述各候选索引的查询耗时是否大于预定查询时长之后,所述方法还包括:
若检测出所述各候选索引的查询耗时均大于预定查询时长,则确定所述候选索引中不存在目标索引,并生成用于指示优化所述候选索引的提示信息;
若检测出所述各候选索引中存在查询耗时不大于预定查询时长的候选索引,则执行比较各候选索引的查询耗时的操作。


5.根据权利要求1-4中任一项所述的方法,其特征在于,确定通过每个候选索引获取所述查询类型对应内容的...

【专利技术属性】
技术研发人员:蒋旺
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:北京;11

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

1