概述
背景
项目运行4年,数据量较大,现平台查询数据较慢,因此决定重构系统,采用Sharding-Sphere进行数据分表,提升查询效率,半年数据存入一张表内,之前测试的多为单表业务,分表测试的时候还是有很多地方没考虑到,因此本博文作为项目经验教训记录。
问题
一、平台上设置默认时间段,即3个月,前端自动算出起-止时间,传与后台,后台根据传输的时间判断具体查询某张表,前端推算3个月的时候,直接自然月-3,导致算出了错误的开始时间,如当前月份为5.30,月份-3,则算出开始时间为2.30,传给后台的时间段则为5.30-2.30,实际上2月并无30号,导致定位查询表错误,平台报错
总结:测试时,需要构造异常月份数据,如2.30、2.31等。
二、查看某条单据的详情时,前端需要传递起-止时间,后台根据传输的时间判断具体查询某张表,列表上搜索的时间端为2020/3/20-2020/5/20,且选择该时间段的单据查看详情,此时前端传递的时间应该是2020/3/20-2020/5/20,但是前端传递成了当前日期-前3月,导出查看详情报错。
总结:测试时,需要查看除当前默认查询时间外的数据详情。
三、测试统计数据时,发现页面上展示的数据值与数据库实际统计数据不一致,后经过核查,发现开发在代码中编写的sql语句使用了ifnull函数,后将ifnull函数去掉,统计数据正确
总结:sharding-jdbc不支持ifnull的写法
最后
以上就是拼搏白猫为你收集整理的项目使用Sharding-Sphere分表测试经验总结背景问题的全部内容,希望文章能够帮你解决项目使用Sharding-Sphere分表测试经验总结背景问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复