update时锁表,写入慢

你好,我们tidb 每天 update操作(2小时、半小时、临时加的更新操作),像这种有啥好的建议吗

你好,

可以在详细描述下你的问题

每天有定时任务对字段数据更新,还有的做报告要的实时数据也会update表,造成现在锁表,写入很慢,

你好,

此问题需要结合业务去处理下,这边可以提供下基本的思路看是否可以有帮助

  1. update 批次可以维持在 100 - 500 之间
  2. 设置 LOW_PRIORITY 将 update 执行等级降低,语法参照 mysql
  3. 对于实时报表建议进行业务评估,是否需要放在线上业务系统中进行。可以将其数据放在临时表中处理,与线上业务数据分开

image

类似这种,修改当前语句的形式即可,全部设置 LOW_PRIORITY ,效果不大。

update LOW_PRIORITY tbl set a = 1 where id = 1;


限制某个表

建议仅仅限制定时的 update 语句和报表的 sql。避免出现线上业务 sql 执行靠后

insert HIGH_PRIORITY INTO xpost , 这种 SELECT和INSERT高于update像这种可以吗

根据当前业务情况,不建议对线上的 sql 进行改动,对跑批或者定时任务的 sql 改动是比较符合规范的

好的,谢谢

:+1: