mysql - 如何在 MySQL 上每天进行多表更新查询
问题描述
我正在致力于自动化构建数据库的过程。这是一个在构建后需要每日更新的数据库。
这个数据库有 51 张表,分为 3 个 schema(每个 schema 有 17 个表),总共有 2000 万条记录,每条记录的 PK 为 manage_number 。
我每天需要更新2000~3000条记录,但是不知道用什么方法。
- 为 PK 索引制作一个表
这是在同一个数据库中分别创建带PK的表和带PK的表名的方法。创建一个表,其中包含有关 manage_number 存储在哪个表中的元数据。目前,应用了这种方法。问题是构建时间比以前长了 5-6 倍(从 2 分钟增加到 12 分钟)。
- 多表更新查询
这是如何对具有相同架构的 17 个表执行更新查询。但是,在这种情况下,FROM 子句中的负载预计会非常高,我认为这会对服务器造成负担。
更新查询可能如下所示。
UPDATE table1, table2, table3, ..., table17
SET data_here
WHERE manage_number = 'TARGET_NUMBER';
请分享哪种方式更好,或者您是否有更好的方式。
谢谢你。
解决方案
推荐阅读
- r - 比较数据表R中所有列的有效方法
- r - 通过匹配 ID 和列名检索 data.frame 的值
- spring-boot - Spring websocket (WSS) 与 angular sockjs (HTTPS) 在安全 web socket 服务器 (tomcat) 上
- xcode - 如何在 Xcode 中调试电池拔出功能?
- excel - 如何从用户窗体的文本框中输入验证消息?
- hyperledger-fabric - 运行 $ sudo npm install 后出错,错误是 - grpc@1.10.1 安装脚本失败
- python - 如何从 Jupyter Pyspark 笔记本访问 MinIO 存储桶?
- python - s3.upload_fileobj 给出错误需要类似字节的对象
- android - Android Studio 重新格式化代码快捷方式不起作用
- c# - 通过 Azure AD 应用程序代理从客户端发出的请求中缺少授权标头