存储过程的测试方法、装置、设备及存储介质制造方法及图纸

技术编号:39436987 阅读:13 留言:0更新日期:2023-11-19 16:20
本申请提供一种存储过程的测试方法、装置、设备及存储介质,该方法包括:在第一源数据库中确定N个待迁移对象对应的数据定义语言DDL语句,得到M条DDL语句,N个待迁移对象包括但不限于:数据表、索引、视图、存储过程、包和函数;对M条DDL语句进行格式转换处理,得到M条目标语句;根据M条目标语句,确定P条第一目标语句,第一目标语句用于执行存储过程;在第一源数据库中确定统计信息,并将统计信息存储至第一目标测试库,统计信息中包括数据表和索引分别对应的统计数据;根据统计信息,在第一目标测试库中执行P条第一目标语句,得到存储过程的性能分析结果。提高了对存储过程进行测试的准确性。准确性。准确性。

【技术实现步骤摘要】
存储过程的测试方法、装置、设备及存储介质


[0001]本申请涉及数据库领域,尤其涉及一种存储过程的测试方法、装置、设备及存储介质。

技术介绍

[0002]在一些工作中,需要将源数据库中的对象迁移至目标数据库。由于目标数据库与源数据库的类型通常不同,导致目标数据库和源数据库的存储过程的运行性能存在很大差异。
[0003]在相关技术中,通常是使用录放工具在源数据库中抓取业务流量数据,并在目标数据库中存储业务流量数据,以对目标数据库的存储过程进行测试。然而,在上述过程中,由于目标数据库与源数据库的服务器配置不相同,且业务流量数据的数据量与实际工作场景下的数据量存在很大差异,导致对存储过程进行测试的准确性低。

技术实现思路

[0004]本申请提供一种存储过程的测试方法、装置、设备及存储介质,用以提高对存储过程进行测试的准确性。
[0005]第一方面,本申请提供一种存储过程的测试方法,包括:
[0006]在第一源数据库中确定N个待迁移对象对应的数据定义语言DDL语句,得到M条DDL语句,所述N个待迁移对象包括但不限于:数据表、索引、视图、存储过程、包和函数,所述N、M为大于或等于1的整数;
[0007]对所述M条DDL语句进行格式转换处理,得到M条目标语句;
[0008]根据所述M条目标语句,确定P条第一目标语句,所述第一目标语句用于执行所述存储过程,所述P为大于或等于1,且小于或等于M的整数;
[0009]在所述第一源数据库中确定统计信息,并将所述统计信息存储至所述第一目标测试库,所述统计信息中包括所述数据表和所述索引分别对应的统计数据;
[0010]根据所述统计信息,在所述第一目标测试库中执行所述P条第一目标语句,得到所述存储过程的性能分析结果。
[0011]在一可能的实施例方式中,根据所述M条目标语句,确定P条第一目标语句,包括:
[0012]在所述M条目标语句中确定所述存储过程对应的S条待选存储语句,所述待选存储语句用于执行所述存储过程,所述S为大于或等于1的整数;
[0013]对所述S条待选存储语句进行清洗处理,得到所述L条存储语句,所述L为大于或等于1,且小于S的整数;
[0014]对所述L条存储语句进行异常捕获处理,得到所述P条第一目标语句。
[0015]在一可能的实施例方式中,对所述S条待选存储语句进行清洗处理,得到所述L条存储语句,包括:
[0016]确定多个关键词,并根据所述多个关键词,在所述S条待选存储语句中确定K条第
一存储语句,所述第一存储语句中包括所述多个关键词中的至少一个,所述K为整数;
[0017]在所述S条待选存储语句中删除所述K条第一存储语句,得到S

K条剩余存储语句;
[0018]确定多个预设变量,并根据所述多个预设变量,在所述S

K条剩余存储语句中确定L条第二存储语句,所述第二存储语句中包括所述多个预设变量中的至少一个;
[0019]对每条第二存储语句进行文本替换处理,得到每条第二存储语句对应的存储语句,所述L条存储语句包括每条第二存储语句对应的存储语句。
[0020]在一可能的实施例方式中,针对任意一条第二存储语句,对所述第二存储语句进行文本替换处理,得到所述第二存储语句对应的存储语句,包括:
[0021]对所述第二存储语句进行文本识别处理,以判断所述第二存储语句中是否存在自定义参数;
[0022]若是,则将所述第二存储语句中的自定义参数替换为预设值,得到所述第二存储语句对应的存储语句。
[0023]在一可能的实施例方式中,针对任意一条存储语句;对所述存储语句进行异常捕获处理,得到所述存储语句对应的第一目标语句,包括:
[0024]确定所述异常捕获处理对应的捕获信息;
[0025]在所述存储语句中确定捕获信息对应的添加位置;
[0026]在所述存储语句中的所述添加位置中,添加所述捕获信息,得到所述存储语句对应的第一目标语句。
[0027]在一可能的实施例方式中,根据所述统计信息,在所述第一目标测试库中执行所述P条第一目标语句,得到所述存储过程的性能分析结果,包括:
[0028]针对任意一条第一目标语句,根据所述统计信息,在所述第一目标测试库中执行所述第一目标语句,得到所述第一目标语句对应的执行计划;
[0029]对P个执行计划进行性能分析,得到所述存储过程的性能分析结果。
[0030]在一可能的实施例方式中,对所述P个执行计划进行性能分析,得到所述存储过程的性能分析结果,包括:
[0031]确定多个预设异常信息;
[0032]针对任意一个执行计划,确定所述执行计划中是否存在所述多个预设异常信息中的至少一个;
[0033]若所述执行计划中存在至少一个预设异常信息,则确定所述执行计划的执行结果包括所述至少一个预设异常信息;
[0034]若所述执行计划中不存在预设异常信息,则确定所述执行计划的执行结果为执行正常;
[0035]确定所述存储过程的性能分析结果包括所述P个执行计划的执行结果。
[0036]在一可能的实施例方式中,根据所述M条目标语句,确定P条第一目标语句之前,还包括:
[0037]确定第二目标测试库,并在所述第二目标测试库中执行所述M条目标语句,生成Q个待选对象,所述Q为大于或等于1的整数;
[0038]确定所述Q个待选对象与所述N个待迁移对象是否一致;
[0039]若一致,则在所述Q个待选对象中确定W个目标对象,将所述W个目标对象迁移至所
述第一目标测试库,所述目标对象为除所述存储过程之外的待迁移对象,所述W为大于或等于1、且小于Q的整数。
[0040]在一可能的实施例方式中,将所述统计信息存储至所述第一目标测试库,包括:
[0041]在所述第一源数据库中创建临时表;
[0042]将所述统计信息存储至所述临时表中,并将所述临时表存储至所述第一目标测试库。
[0043]在一可能的实施例方式中,对所述M条DDL语句进行格式转换处理,得到M条目标语句,包括:
[0044]确定第二源数据库;
[0045]在所述第二源数据库中存储所述M条DDL语句;
[0046]确定所述第一目标测试库的目标类型;
[0047]在所述第二源数据库中,根据所述目标类型对所述M条DDL语句进行格式转换处理,得到所述M条目标语句。
[0048]第二方面,本申请提供一种存储过程的测试装置,所述装置包括:第一确定模块、处理模块、第二确定模块、第三确定模块、存储模块和执行模块,其中,
[0049]所述第一确定模块用于,在第一源数据库中确定N个待迁移对象对应的数据定义语言DDL语句,得到M条DDL语句,所述N个待迁移对象包括但不限于:数据表、索引、视图、存储过程、包和函数,所述N、M为大于或等于1的整数;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储过程的测试方法,其特征在于,包括:在第一源数据库中确定N个待迁移对象对应的数据定义语言DDL语句,得到M条DDL语句,所述N个待迁移对象包括但不限于:数据表、索引、视图、存储过程、包和函数,所述N、M为大于或等于1的整数;对所述M条DDL语句进行格式转换处理,得到M条目标语句;根据所述M条目标语句,确定P条第一目标语句,所述第一目标语句用于执行所述存储过程,所述P为大于或等于1,且小于或等于M的整数;在所述第一源数据库中确定统计信息,并将所述统计信息存储至所述第一目标测试库,所述统计信息中包括所述数据表和所述索引分别对应的统计数据;根据所述统计信息,在所述第一目标测试库中执行所述P条第一目标语句,得到所述存储过程的性能分析结果。2.根据权利要求1所述的方法,其特征在于,根据所述M条目标语句,确定P条第一目标语句,包括:在所述M条目标语句中确定所述存储过程对应的S条待选存储语句,所述待选存储语句用于执行所述存储过程,所述S为大于或等于1的整数;对所述S条待选存储语句进行清洗处理,得到所述L条存储语句,所述L为大于或等于1,且小于S的整数;对所述L条存储语句进行异常捕获处理,得到所述P条第一目标语句。3.根据权利要求2所述的方法,其特征在于,对所述S条待选存储语句进行清洗处理,得到所述L条存储语句,包括:确定多个关键词,并根据所述多个关键词,在所述S条待选存储语句中确定K条第一存储语句,所述第一存储语句中包括所述多个关键词中的至少一个,所述K为整数;在所述S条待选存储语句中删除所述K条第一存储语句,得到S

K条剩余存储语句;确定多个预设变量,并根据所述多个预设变量,在所述S

K条剩余存储语句中确定L条第二存储语句,所述第二存储语句中包括所述多个预设变量中的至少一个;对每条第二存储语句进行文本替换处理,得到每条第二存储语句对应的存储语句,所述L条存储语句包括每条第二存储语句对应的存储语句。4.根据权利要求3所述的方法,其特征在于,针对任意一条第二存储语句,对所述第二存储语句进行文本替换处理,得到所述第二存储语句对应的存储语句,包括:对所述第二存储语句进行文本识别处理,以判断所述第二存储语句中是否存在自定义参数;若是,则将所述第二存储语句中的自定义参数替换为预设值,得到所述第二存储语句对应的存储语句。5.根据权利要求3或4所述的方法,其特征在于,针对任意一条存储语句;对所述存储语句进行异常捕获处理,得到所述存储语句对应的第一目标语句,包括:确定所述异常捕获处理对应的捕获信息;在所述存储语句中确定捕获信息对应的添加位置;在所述存储语句中的所述添加位置中,添加所述捕获信息,得到所述存储语句对应的第一目标语句。
6.根据权利要求1

5任一项所述的方法,其特征在于,根据所述统计信息,在所述第一目标测试库中执行所述P条第一目标语句,得到所述存储过程的性能分析结果,包括:针对任意一条第一目标语句,根据所述统计信息,在所述第一目标测试库中执行所述第一目标语句,得到所述第一目标语句对应的执行计划;对P个执行计划进行性能分析,得到所述存储过程的性能分析结果。7.根据权利要求6所述的方法,其特征在于,对所述P个执行计划进行性能分析,得到所述存储过...

【专利技术属性】
技术研发人员:刘梦坷李奇伟梁昊然孙迪
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1