gpt4 book ai didi

Mysql全表更新调优

转载 作者:行者123 更新时间:2023-11-30 21:26:31 31 4
gpt4 key购买 nike

如何让全表(测试规模超过1亿)尽可能快的更新? mysql有没有类似oracle的并行查询?

sql请求是这样的:

update table test set col1 = DA(col1)

DA是某种形变算法函数。

这不是一次性任务,因为我们需要定期将数据从生产数据库传输到测试数据库。在测试用户可以使用之前,一些敏感数据列需要变形(例如“ABC”到“!#@!”)。

谢谢

最佳答案

更新表中的所有行非常耗时。原因与锁和日志记录有关。

进行大量更新时,创建一个表然后重新加载旧表通常会更快。像这样:

create table temp_test as
select DA(col1) as col1, . . . -- rest of the columns
from test;

truncate table test; -- stash the old copy before doing this!

insert into test ( . . . ) -- list the columns here
select . . . -- list the columns here
from temp_test;

关于Mysql全表更新调优,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58686549/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com