gpt4 book ai didi

mysql - 具有内连接优化的 SQL 更新查询

转载 作者:行者123 更新时间:2023-11-30 22:50:22 25 4
gpt4 key购买 nike

我有以下 SQL 更新查询。我在 MySQL 上工作

UPDATE stg_table AS stg
INNER JOIN s_table AS s
ON stg.s_name = s.s_name
AND stg.s_key = s.s_key
SET update_ind = 1,
stg.s_id = s.s_id,
stg.m_id = s.m_id
WHERE stg.processed_ind = 0

处理需要很长时间,因此我在 Java 中遇到锁定等待超时异常。

是否可以优化此查询,否则我将不得不增加 MySQL 端的锁定等待时间?

注意:目前我在 stg_table 表中有 30k 条记录,在 s_table 表中有 3k 条记录。

现在我将 innodb_lock_wait_timeout = 50 作为默认值。如果我将 innodb_lock_wait_timeout 增加到某个更大的值,比如 200,那么我的问题可能会得到解决。但是我不确定如果表中的数据增加那么这个查询可能会导致相同的情况。这是我的观点,如果我的理解有误,请指正

最佳答案

我在 stg.s_namestg.s_key 上添加了索引,我的问题就解决了。现在我的查询需要 0.05 秒。

关于mysql - 具有内连接优化的 SQL 更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28336634/

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