优化更新
Optimized update
我一直在尝试对具有 2 列(id 和 nb_send)的巨大 table(大约 600 万行)进行大规模更新
我只需要增加一列 (nb_send)
这是查询:
UPDATE nb_send
SET n_nb_send = n_nb_send + 1
WHERE n_id = ( .., .., .. with the 100K ids, etc.. )
当我想更新 100K 行时,它需要很多时间(我从来没有等到最后,因为它超过了 40 分钟)我想在不到 2 分钟内完成。
尝试从此 table 中删除所有索引(以及使用 nb_send 列的 table 中的索引),然后更新 nb_send,然后重新创建所有索引。
希望对您有所帮助
这种情况的解决方案不是创建一个列(作为计数器)并更新它,而是创建一个新的 table 来计算您想要的内容以及您需要的所有信息。
"WHERE id = " 根本没有针对巨大的 tables 进行优化。
我一直在尝试对具有 2 列(id 和 nb_send)的巨大 table(大约 600 万行)进行大规模更新
我只需要增加一列 (nb_send)
这是查询:
UPDATE nb_send
SET n_nb_send = n_nb_send + 1
WHERE n_id = ( .., .., .. with the 100K ids, etc.. )
当我想更新 100K 行时,它需要很多时间(我从来没有等到最后,因为它超过了 40 分钟)我想在不到 2 分钟内完成。
尝试从此 table 中删除所有索引(以及使用 nb_send 列的 table 中的索引),然后更新 nb_send,然后重新创建所有索引。
希望对您有所帮助
这种情况的解决方案不是创建一个列(作为计数器)并更新它,而是创建一个新的 table 来计算您想要的内容以及您需要的所有信息。
"WHERE id = " 根本没有针对巨大的 tables 进行优化。