gpt4 book ai didi

java - 插入、选择和更新查询会降低整个服务器的速度

转载 作者:行者123 更新时间:2023-11-29 00:39:44 26 4
gpt4 key购买 nike

我有一个处理超过 10000000 条数据的应用程序。

MainTable有超过10000000条数据

我正在尝试将数据从主表插入到子表中

INSERT INTO SubTable(Value1,Value2)
SELECT Value1,Value2 FROM MainTable
GROUP BY Value1_ID;

在子表中执行某些处理后..我再次将新值更新到主表中作为

UPDATE MainTable inf,SubTable in
SET inf.Value1=in.Value1, inf.Value2=in.Value2
WHERE inf.Value1_ID= in.Value1_ID;

在运行此查询时,整个服务器变得非常慢,并且它停止了整个其他事务。我在这里使用 JDBC Driver Manager 连接。如何避免这种情况?如何解决这个问题?

最佳答案

如果您只需要偶尔执行一次操作,而不是在一次更新中更新整个表,您可以设置一个小脚本,该脚本将按批处理行更新几秒/分钟左右。其他进程将在两次更新之间自由执行查询。
例如,通过每分钟更新一批 100,000 行,如果您的表具有正确的索引,则需要 1~2 小时,但对性能的影响要小得多。

另一种解决方案是在服务器上的 Activity 最低时进行更新(也许在周末?),这样您就不会对其他进程造成太大影响.

关于java - 插入、选择和更新查询会降低整个服务器的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12777383/

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