🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> 记录工作过程中遇到的问题。 [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)