gpt4 book ai didi

python - 如何加快MySql上百万条记录的更新查询

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

我有一个包含 2700 万个 ID 列的表。我计划从另一个需要很长时间才能完成的表中更新平均值和计数。

下面是更新查询(数据库 - MySQL,我正在使用 Python 连接到数据库) UPDATE dna_statistics
SET chorus_count =
(SELECT count(*)
FROM dna B
WHERE B.music_id = <music_id>
AND B.label = 'Chorus')
WHERE music_id = 916094

最佳答案

正如scaisEdge所说,您需要检查两个表上是否有索引。

我想补充一下 scaisEdge 的回答,复合索引中列的顺序应该与您比较它们的顺序相匹配。

你用过

    WHERE B.music_id = <music_id>
AND B.label = 'Chorus')

因此您的索引应该由顺序为 (music_id, label) 而不是 (label, music_id) 的列组成。

我本来可以将其添加为评论,但距离评论还有 1 点声望。

关于python - 如何加快MySql上百万条记录的更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58996122/

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