System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及数据库,尤其涉及一种索引使用效率的评估方法、装置、电子设备及存储介质。
技术介绍
1、软件性能测试发现,软件运行效率低下的主要原因之一是sql语句的质量。sql语句的质量是指其是否能够高效、准确地完成所需的数据库操作,以及是否具有良好的可维护性、可扩展性和安全性。
2、在现有技术中,sql语句包括使用了索引的sql语句和未使用索引的sql语句。对于未使用索引的sql语句,在执行该语句时需要进行全表扫描,性能低下,往往很快就会被发现。对于使用了索引的sql语句,由于匹配的索引字段的索引区分度不够高,扫描范围太大,性能较为低下,这种情形下就很难找出有问题的sql语句。此外,对于铺地数据不足的数据表,使用该数据表的sql语句如果出现问题,同样也很难排查出来。
技术实现思路
1、本申请提供一种索引使用效率的评估方法、装置、电子设备及存储介质,可以自动地针对每一条sql语句的索引使用效率进行评估,从而可以及时发现索引使用效率不高的sql语句,达到减少开发成本,提升开发效率的目的。
2、第一方面,本申请实施例提供了一种索引使用效率的评估方法,所述方法包括:
3、在目标程序中提取出一条或者多条sql语句;
4、针对各条sql语句生成对应的执行计划;
5、基于各条sql语句对应的执行计划计算各条sql语句的索引使用效率。
6、第二方面,本申请实施例还提供了一种索引使用效率的评估装置,所述装置包括:提取模块、生成
7、所述提取模块,用于在目标程序中提取出一条或者多条sql语句;
8、所述生成模块,用于针对各条sql语句生成对应的执行计划;
9、所述计算模块,用于基于各条sql语句对应的执行计划计算各条sql语句的索引使用效率。
10、第三方面,本申请实施例提供了一种电子设备,包括:
11、一个或多个处理器;
12、存储器,用于存储一个或多个程序,
13、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请任意实施例所述的索引使用效率的评估方法。
14、第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请任意实施例所述的索引使用效率的评估方法。
15、本申请实施例提出了一种索引使用效率的评估方法、装置、电子设备及存储介质,先在目标程序中提取出一条或者多条sql语句;然后针对各条sql语句生成对应的执行计划;再基于各条sql语句对应的执行计划计算各条sql语句的索引使用效率。也就是说,在本申请的技术方案中,通过分析各条sql语句对应的执行计划,可以计算出各条sql语句的索引使用效率。而在现有技术中,对于使用了索引的sql语句,由于匹配的索引字段的索引区分度不够高,扫描范围太大,性能较为低下,这种情形很难找出有问题的sql语句。此外,对于铺地数据不足的数据表,使用该数据表的sql语句如果出现问题,同样也很难排查出来。因此,和现有技术相比,本申请实施例提出的索引使用效率的评估方法、装置、电子设备及存储介质,可以自动地针对每一条sql语句的索引使用效率进行评估,从而可以及时发现索引使用效率不高的sql语句,达到减少开发成本,提升开发效率的目的;并且,本申请实施例的技术方案实现简单方便、便于普及,适用范围更广。
本文档来自技高网...【技术保护点】
1.一种索引使用效率的评估方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述执行计划包括:该SQL使用的数据表的名称、该SQL使用的索引的名称、所述数据表中的字段的个数以及所述数据表中的各个索引字段。
3.根据权利要求1所述的方法,其特征在于,在目标程序中提取出一条或者多条SQL语句,包括:
4.根据权利要求1所述的方法,其特征在于,针对各条SQL语句生成对应的执行计划,包括:
5.根据权利要求2所述的方法,其特征在于,基于各条SQL语句对应的执行计划计算各条SQL语句的索引使用效率,包括:
6.根据权利要求5所述的方法,其特征在于,根据各条SQL语句使用的数据表中的各个索引字段的唯一取值个数以及预先确定的所述数据表的数据量,计算各条SQL语句的索引效率,包括:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.一种索引使用效率的评估装置,其特征在于,所述装置包括:提取模块、生成模块和计算模块;其中,
9.一种电子设备,其特征在于,包括:
...【技术特征摘要】
1.一种索引使用效率的评估方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述执行计划包括:该sql使用的数据表的名称、该sql使用的索引的名称、所述数据表中的字段的个数以及所述数据表中的各个索引字段。
3.根据权利要求1所述的方法,其特征在于,在目标程序中提取出一条或者多条sql语句,包括:
4.根据权利要求1所述的方法,其特征在于,针对各条sql语句生成对应的执行计划,包括:
5.根据权利要求2所述的方法,其特征在于,基于各条sql语句对应的执行计划计算各条sql语句的索引使用效率,...
【专利技术属性】
技术研发人员:申升星,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。