gpt4 book ai didi

mysql - 查询完全阻塞 MySQL 服务器

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

我尝试运行特定查询。但是,当我执行它时,MySQL 服务器不再响应。

base_contrats_actifs 表中大约有 30000 行,但我不知道这是否是一个问题。

这里是查询:

UPDATE
base_contrats_actifs a
SET
a.code_indice = (
SELECT
MAX(g.code_indice)
FROM
base_gid g
WHERE
a.num_version = g.num_version_contrat
),
a.flag_bailleur_locataire = (
SELECT
MAX(g.flag_bailleur_locataire)
FROM
base_gid g
WHERE
a.num_version = g.num_version_contrat
),
a.compte_client = (
SELECT
MAX(g.compte_client)
FROM
base_gid g
WHERE
a.num_version = g.num_version_contrat
)

你能看看有没有错误?如果没有,有什么办法可以调试查询吗?

最佳答案

我不知道为什么您的更新性能不佳,但考虑到您拥有的相关子查询的数量,我并不感到惊讶。尝试将其重写为更新连接:

UPDATE base_contrats_actifs a
INNER JOIN
(
SELECT
num_version_contrat,
MAX(code_indice) AS max_code_indice,
MAX(flag_bailleur_locataire) AS max_flag_bailleur_locataire,
MAX(compte_client) AS max_compte_client
FROM base_gid
GROUP BY num_version_contrat
) g
ON a.num_version = g.num_version_contrat
SET
a.code_indice = g.max_code_indice,
a.flag_bailleur_locataire = g.max_flag_bailleur_locataire,
a.compte_client = g.max_compte_client;

关于mysql - 查询完全阻塞 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53394695/

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