SQL 使用内连接优化更新查询

SQL update query with inner join optimisation

我有以下 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_tabletable中有30k条记录,在s_tabletable中有3k条记录。

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

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