mysql - 使用 MySQL 进行快速交叉表更新

标签 mysql sql sql-update query-optimization

简单的问题:D。我知道怎么做,但我必须要快。

最省时的方法是什么?

场景:tableAtableB两个表,从tableB.columnB更新tableA.columnA,基于在 tableA.primarykey = tableB.primarykey 上。

问题:tableAtableB 各有超过 10.000.000 条记录。

最佳答案

update TableA as a
    join TableB as b on
        a.PrimaryKey = b.PrimaryKey
set a.ColumnA = b.ColumnB

更新 1000 万行不可能很快。好吧……至少与更新一行相比。

你能做到的最好:

  • 连接字段的索引,但你已经知道了,因为这些字段是主键
  • 根据 where 条件限制(如果适用)。索引涵盖需要加速的条件。

关于mysql - 使用 MySQL 进行快速交叉表更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6393763/

相关文章:

python - 处理 ElasticSearch 最 Pythonic 的方法是什么?

php - 通过 php 和 jquery 从 mysql 数据库获取结果时出现问题

SQL 嵌套查询

mysql - 从表中选择每个用户的前 3 个查看图像

mysql - 如何运行 MySQL 命令?

Sql 连接符号 : Is this equivalent to inner or full join?

php - Mysql REGEXP 模式 SELECT

java - 列出所有更新的列名

sql-server-2005 - 重命名重复行

mysql - MySQL 可以在 UPDATE 中进行正则表达式替换吗?