对同一张表读写频繁如何避免锁表

    1. 如果是update多,建议支持脏读with(nolock)这样,写不会影响读。
    1. 如果都是insert,建议分成两个表,一个历史表,一个当前表,每天把当前表移到历史表。

今天遇到一个发短信接口,验证短信接口,Fulfiument部门的短信转化率也并不是很高,只有5%-6%。
营销短信的发送速度在50万每小时。
之后server扛不住了,DB中出现query查不完情况,锁表前奏啊
营销短信降速到20万每小时

50万/3600 =138.88每秒
20万/3600 =55.55每秒
即使100%转化率也不至于呢

发送短信,会被某表中insert 一条短信验证码code
验证短信,会先查询,是同一张表,select top 1 code from tablename where xxx=xxx and flag = 0 order by timestamp desc
查询到了进行验证通过,同时update flag =1

哎没有想到呢,最近干啥呢

posted @ 2018-06-10 22:28  巴黎爱工作  阅读(2671)  评论(0编辑  收藏  举报