update会造成热力图上的IO较高

【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.5
【遇到的问题:问题现象及影响】
现在有频繁的UPDATE
erp_base.tb_base_masterdata_phone_record
SET
phone = ‘13033xxxxxxx’
WHERE
old_cust_id = ‘60108700000663’
AND cust_id = ‘7d73cfd7-64a9-4545-828d-c98bff6aed00’
热力图上显示读取每分钟5G,平均每秒50-80MB,我想问一下,这个update为什么会造成这么高的读取IO呢,表数据量:500W。5个TIDB,TIKV,PD,16v64g


但实际上我用iotop在宿主机上面看,并不高只有几MB。
谢谢!

把执行计划发下,另外你的update一次更新多少条数据?

1 个赞

这个是tikv存储扫描数据量,不是update数据量。

1 个赞

explain analyze
select * from
erp_base.tb_base_masterdata_phone_record
WHERE
old_cust_id = ‘60108700000663’
AND cust_id = ‘7d73cfd7-64a9-4545-828d-c98bff6aed00’

看看这个执行计划是什么样的。update要先找到,可能是读取扫描的数据多,大概率是没有用到索引。频繁的扫全表了。

1 个赞

忽略了这点,update的时侯没有根据主键,实际上也是要扫描表的,感谢。

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。