我有一个短信表(buff)放待发送的短信
buff 表 有 count 字段(发送次数),还写了两个个触发器
1、当 count >= 3 时 删除 该条信息
2、将删除的信息放在 msgBackup 中
发短信过程如下:
读取短信列表 单线程
↓
发送到移动 (异步发送)
↓
移动反馈结果(移动接收结果,异步接收),这个时候修改 count = 3 触发器执行 删除 和备份操作
但是修改 count = 3 数据量大时老是报错
事务(进程 ID 66)与另一个进程已被死锁在 lock 资源上,且该事务已被选作死锁牺牲品。请重新运行该事务。
移动还反馈用户接收状态的,在msgBackup 中修改,所以也不敢将 修改 count = 3 弄成批量操作,害怕 修改移动反馈用户接收结果时 数据还在buff 中,
不知道我说的明白不,现在想求大神有什么解决思路,因为我们业务原因,发送短信很时集中,有时几个小时不发短信 ,有时半个小时不停的发