1. 程式人生 > >對同一張表讀寫頻繁如何避免鎖表

對同一張表讀寫頻繁如何避免鎖表

lag 發短信 查詢 rom 進行 time order lock In

    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

哎沒有想到呢,最近幹啥呢

對同一張表讀寫頻繁如何避免鎖表