本申请涉及数据库,尤其涉及一种数据库测试方法、装置、电子设备及可读存储介质。
背景技术:
1、业务系统的数据库在一定情况下需要更换。在对已投入使用的业务系统的数据库进行更换之前,需要对新的数据库进行性能测试和兼容性测试,以判断新的数据库的性能以及兼容性是否达到要求。目前,数据库测试的过程大多为人工操作,人工操作将导致测试结果存在较大差异,且效率较低。
技术实现思路
1、本申请实施例提供了一种数据库测试方法、装置、电子设备及可读存储介质,以解决现有技术中数据库测试的过程大多为人工操作,导致测试结果存在较大差异,且效率较低的技术问题。
2、为了解决上述技术问题,本申请是这样实现的;
3、第一方面,本申请实施例提供了一种数据库测试方法,所述方法包括:
4、从第一业务系统在第一时段内生成的sql日志中,获取至少一个sql样本,所述第一业务系统为部署有第一数据库的业务系统;
5、在第二数据库中回放所述至少一个sql样本,以得到所述至少一个sql样本中的每个sql样本的回放结果,所述第二数据库预先同步有所述第一数据库在第一时刻的数据,所述第一时刻为所述第一时段的开始时刻;
6、基于所述至少一个sql样本中的每个sql样本的回放结果,确定所述第二数据库的测试结果。
7、第二方面,本申请实施例提供了一种数据库测试装置,包括:
8、获取模块,用于从第一业务系统在第一时段内生成的sql日志中,获取至少一个sql样本,所述第一业务系统为部署有第一数据库的业务系统;
9、回放模块,用于在第二数据库中回放所述至少一个sql样本,以得到所述至少一个sql样本中的每个sql样本的回放结果,所述第二数据库预先同步有所述第一数据库在第一时刻的数据,所述第一时刻为所述第一时段的开始时刻;
10、确定模块,用于基于所述至少一个sql样本中的每个sql样本的回放结果,确定所述第二数据库的测试结果。
11、第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的数据库测试方法的步骤。
12、第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的数据库测试方法的步骤。
13、本申请实施例中,第一业务系统为部署有第一数据库的业务系统,从第一业务系统在第一时段内生成的sql日志中,可获取至少一个sql样本;通过在第二数据库中回放至少一个sql样本,以得到至少一个sql样本中的每个sql样本的回放结果,每个sql样本的回放结果能够反映出第二数据库的性能或者兼容性;通过基于至少一个sql样本中的每个sql样本的回放结果,能够确定第二数据库的测试结果。可见,本申请实施例能够大大减少数据库测试过程中的人工操作,从而降低测试结果的差异性,并提高数据库测试的效率。
1.一种数据库测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从第一业务系统在第一时段内生成的sql日志中,获取至少一个sql样本,包括:
3.根据权利要求2所述的方法,其特征在于,所述在第二数据库中回放所述至少一个sql样本,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述第一条sql语句推送至所述第二数据库中执行,并按照所述各目标sql语句与所述第一条sql语句的执行间隔时长,将所述各目标sql语句分别推送至所述第二数据库执行,包括:
5.根据权利要求2所述的方法,其特征在于,所述在第二数据库中回放所述至少一个sql样本,包括:
6.根据权利要求2所述的方法,其特征在于,所述在第二数据库中回放所述至少一个sql样本,包括:
7.根据权利要求1所述的方法,其特征在于,所述从第一业务系统在第一时段内生成的sql日志中,获取至少一个sql样本之前,所述方法还包括:
8.一种数据库测试装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据库测试方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7任一项所述的数据库测试方法的步骤。