> 記錄工作過程中遇到的問題。
[TOC]
# TiDB Server OOM
大表,比如1億行,60G,全表掃描,也經常會導致TiDB Server節點OOM,短暫崩潰。 全部使用內存,缺乏自我保護機制。
# 分區表
由于數據只需要保存7天,所以用分區表實現。一個簡單的SQL,比如:select * from xx limit 10,都可能引起SQL節點OOM崩潰,1秒無服務,引起GetConnectionTimeoutException。
原因:[https://github.com/pingcap/tidb/pull/13628](https://github.com/pingcap/tidb/pull/13628)
解決辦法:升級,3.0.5->3.0.10。
# write conflict
TiDB(3.0.5)是樂觀鎖,我們一般會設置樂觀鎖重試次數,比如10次。
那么嘗試失敗之后,并發update就是write conflict,并發insert就是duplicate entry。
所以,對于同一行記錄,存在很多并發修改的場景,TiDB(3)并不適合。
TiDB(4)已經支持悲觀鎖。
[TiDB 新特性漫談:悲觀事務](https://segmentfault.com/a/1190000020137731)