mysql - mysql中的批量更新需要很长时间才能获得24000条记录
问题描述
如果记录存在,我的要求是更新 X 表中的记录,否则插入它。为此,我创建了临时表并将所有记录插入到临时表中。后来我使用 X 和临时表之间的内部连接基于主键对 X 表运行更新查询。对于新记录,我使用 where not exists 条件运行插入查询。我对 24000 条记录的插入查询在一分钟内完成,但对 24000 条记录的更新查询需要 13 分钟才能完成。
有没有办法减少更新 mysql 中 24000 条记录的时间?我使用的更新查询:
update x
join x_temp
on x.primarykey = x_temp.primarykey
set X.col1 = x_temp.col1
, x.col2 = x_temp.col2 ..
解决方案
推荐阅读
- spring-batch - 无法销毁 ItemReader
- electron - Electron 浏览器视图和预加载 JavaScript 问题
- python - 在 Python 中读取 YAML 配置文件
- python - NoReverseMatch at / 生产服务器上的错误,但在本地没有问题
- laravel - Eloquent 如何加入/关联已通过模型连接的表?
- java - 在 Android 上,是否有必要在 Activity 被销毁时移除传感器侦听器?
- mysql - MySQL 在指定时间触发以在表中创建新条目
- flutter - 如何在 Flutter 中使用 Provider 正确获取 API
- prometheus - Grafana Prometheus - 查询处理会在查询执行中将太多样本加载到内存中
- python-3.x - 使用 Python 将数组转换为字典