相差统计12元的bug(数据的准确性)又浪费了半天时间太宝贵了

首先把多出来的数据找出来

    select
*
from
    iocar_fee
where
    fee_duty_id = '240822000'
    and pay_type = 1
得到结果947
         select
*
from
    iocar_fee
where
    fee_duty_id = '240822000'
    and pay_type = 1
    and create_time between '2024-08-22T00:00' and '2024-08-22T23:59:59'
    结果946  把多余的那条找出来

select *
from iocar_fee
where fee_duty_id = '240822000'
  and pay_type = 1
  and create_time not between '2024-08-22T00:00' and '2024-08-22T23:59:59';
 

找到了

一条数据

8月22号ab栋多统计了一条数据 。122408223081在2024-08-23 00:00:00创建,正常班次号应该240823000, 由于新的班次号还没有生成,导致122408223081的班次号使用前一天的240822000

这也就是并发问题吧

为了优化这个问题,可以采取以下几种方法来避免在统计班次时出现数据重复的问题:

### 1. **生成班次号前加锁**
在创建新的班次号时,使用数据库事务或锁机制来确保每次只生成一个有效的班次号,防止并发操作导致班次号错误。

**优化步骤**:
- 在生成新的班次号之前,使用 `SELECT FOR UPDATE` 来锁定相关的行,确保没有其他并发进程在同时生成班次号。
- 确保新的班次号生成成功后再插入数据。

### 2. **延迟数据插入**
将数据插入的操作延迟到新的班次号生成完成之后,这样可以避免插入过程中使用错误的班次号。

**优化步骤**:
- 先生成新的班次号,并确认生成成功。
- 在班次号生成后,才进行数据的插入操作,确保插入的数据使用的是正确的班次号。

### 3. **检查班次号有效性**

(这个时解决问题的关键呀)
在插入数据之前,添加一个校验步骤,确保使用的班次号是当天生成的,而不是前一天的班次号。

**优化步骤**:
- 在插入数据前,检查班次号的生成时间。如果发现使用的是前一天的班次号,则重新生成或等待新的班次号生成后再插入。

### 4. **修正统计逻辑**
如果前面的优化手段无法完全避免问题,可以在统计时加入额外的逻辑,排除掉不符合当天班次的记录。

**优化步骤**:
- 在统计时,加入 `create_time` 的条件,确保只统计当天生成的班次数据。
- 或者在统计时,检查班次号是否与 `create_time` 匹配,不匹配的记录不纳入统计。

通过这些优化措施,可以有效减少或避免由于并发操作导致的数据重复问题,确保统计结果的准确性。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过对提交的Bug数据统计分析,我们可以得出以下结论: 1. Bug发现的时间分布:我们可以得出Bug发现的时间分布,从而可以分析出测试人员的工作效率和项目开发的进度。如果Bug发现的时间点集中在项目发布之后,说明测试人员在测试环节中存在问题,需要进一步完善测试流程,提升测试效率。如果Bug发现的时间点分布比较均匀,说明测试人员工作效率比较高。 2. Bug数量和严重性分布:我们可以得出Bug数量和严重性的分布情况,从而可以根据Bug的数量和严重性来确定Bug解决的优先级。如果Bug数量较多且严重性较高,说明项目存在较为严重的问题,需要尽快解决。 3. Bug解决的时间分布:我们可以得出Bug解决的时间分布,从而可以分析出开发人员的工作效率和项目开发的进度。如果Bug解决的时间点集中在项目发布之后,说明开发人员在开发环节中存在问题,需要进一步完善开发流程,提升开发效率。如果Bug解决的时间点分布比较均匀,说明开发人员工作效率比较高。 4. Bug出现的频率和原因分析:我们可以得出Bug出现的频率和原因分析,从而可以确定Bug出现的原因,进而制定相应的解决方案。如果同一类Bug出现频率较高,说明项目在此方面存在较大的问题,需要尽快解决。 5. 项目测试覆盖率分析:通过统计Bug数量和测试用例数量,可以得出项目的测试覆盖率,从而可以评估测试用例的充分性和准确性,进一步完善测试用例,提高测试质量。 综上所述,通过对提交的Bug数据统计分析,我们可以得出一些重要的结论,从而帮助我们进一步完善项目开发和测试流程,提高项目的质量和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值