SQL语句性能测试方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27934944 阅读:13 留言:0更新日期:2021-04-02 14:14
本申请涉及一种SQL语句性能测试方法、装置、计算机设备和存储介质,所述方法包括:获取待分析的SQL语句,从待分析的SQL语句中识别待替换参数;获取待替换参数对应的线上参数;将线上参数替换待分析的SQL语句中的待替换参数,得到替换后的SQL语句;对替换后的SQL语句执行性能测试分析。上述方法能够提高SQL语句性能测试结果的准确度。

【技术实现步骤摘要】
SQL语句性能测试方法、装置、计算机设备和存储介质
本申请涉及信息测试
,特别是涉及一种SQL语句性能测试方法、装置、计算机设备和存储介质。
技术介绍
现阶段,在测试阶段执行SQL(StructuredQueryLanguage,结构化查询语言)语句的性能测试时存在时间成本高以及技术难度大等各大痛点。例如,在对SQL语句的性能测试中,采用现有的一些开源工具进行性能测试的检索分析,如现有开源工具SOAR,SQLAdvisor等。这些开源工具均是基于RBO(基于规则的启发式优化器)算法对SQL语句进行索引方案分析,分析结果忽略了线上数据分布对SQL语句的索引选择的影响,从而降低SQL语句的性能测试结果数据的准确性。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高SQL语句性能测试结果的准确度的SQL语句性能测试方法、装置、计算机设备和存储介质。一种SQL语句性能测试方法,该方法包括:获取待分析的SQL语句,从待分析的SQL语句中识别待替换参数;获取待替换参数对应的线上参数;将线上参数替换待分析的SQ本文档来自技高网...

【技术保护点】
1.一种SQL语句性能测试方法,所述方法包括:/n获取待分析的SQL语句,从所述待分析的SQL语句中识别待替换参数;/n获取所述待替换参数对应的线上参数;/n将所述线上参数替换所述待分析的SQL语句中的所述待替换参数,得到替换后的SQL语句;/n对所述替换后的SQL语句执行性能测试分析。/n

【技术特征摘要】
1.一种SQL语句性能测试方法,所述方法包括:
获取待分析的SQL语句,从所述待分析的SQL语句中识别待替换参数;
获取所述待替换参数对应的线上参数;
将所述线上参数替换所述待分析的SQL语句中的所述待替换参数,得到替换后的SQL语句;
对所述替换后的SQL语句执行性能测试分析。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在被测试应用程序的进程中注入拦截代码,通过所述拦截代码获取所述被测试应用程序在程序运行过程中触发的SQL语句;
所述获取待分析的SQL语句,包括:从所述触发的SQL语句中获取所述待分析的SQL语句;
优选地,所述方法还包括:
按照预设频率监测配置表记录的多个应用程序中所述被测试应用程序的进程是否注入所述拦截代码,若否,执行所述在被测试应用程序的进程中注入拦截代码的步骤。


3.根据权利要求2所述的方法,其特征在于,所述通过所述拦截代码获取所述被测试应用程序在程序运行过程中触发的SQL语句之后,还包括:
获取所述触发的SQL语句的标识信息,当根据所述标识信息识别出所述触发的SQL语句未执行过性能测试时,执行所述从所述触发的SQL语句中获取所述待分析的SQL语句的步骤。


4.根据权利要求3所述的方法,其特征在于,所述标识信息包括所述触发的SQL语句的哈希码,所述获取所述触发的SQL语句的标识信息,包括:获取所述触发的SQL语句的哈希码;
所述根据所述标识信息识别出所述触发的SQL语句未执行过性能测试,包括:将所述触发的SQL语句的哈希码与存储区中各个哈希码进行匹配,若匹配失败,识别出所述触发的SQL语句未执行过性能测试;
其中,所述存储区中各个哈希码分别为已执行性能测试的SQL语句的哈希码;
优选地,所述获取所述触发的SQL语句的哈希码,包括:
对所述触发的SQL语句进行解析,得到所述触发的SQL语句中的第一不可变字符,所述第一不可变字符为所述触发的SQL语句中不用于参数替换的字符;
计算所述第一不可变字符的哈希码,将所述第一不可变字符的哈希码作为所述触发的SQL语句的哈希码;
其中,所述存储区中各个哈希码分别为已执行性能测试的SQL语句中的第二不可变字符的哈希码,所述第二不可变字符为所述已执行性能测试的SQL语句中不用于参数替换的字符。


5.根据权利要求4所述的方法,其特征在于,所述若匹配失败,识别出所述触发的SQL语句未执行过性能测试,包括:
若匹配失败,获取SQL语句性能测试的忽略规则配置信息,所述忽略规则配置信息用于指示满足预设忽略规则的...

【专利技术属性】
技术研发人员:梁伟项
申请(专利权)人:广州品唯软件有限公司
类型:发明
国别省市:广东;44

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

1