【问题标题】:Fast Cross Table Update with MySQL使用 MySQL 进行快速交叉表更新
【发布时间】:2011-06-18 03:59:37
【问题描述】:

简单的问题:D。我知道该怎么做,但我必须尽快完成。

什么是最省时的方法?

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

问题:tableAtableB 分别超过 10.000.000 条记录。

【问题讨论】:

    标签: mysql sql sql-update query-optimization


    【解决方案1】:
    update TableA as a
        join TableB as b on
            a.PrimaryKey = b.PrimaryKey
    set a.ColumnA = b.ColumnB
    

    更新 1000 万行不会很快。嗯...至少与更新一行相比。

    你能做到的最好的:

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

    【讨论】:

    • 这几乎是的答案。如果它对您来说不够快,您可能需要更好的索引和/或更快的硬件。
    猜你喜欢
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2021-10-11
    相关资源
    最近更新 更多