Python 如何加速MySql上数百万条记录的更新查询
我有一个表,它有2700万个id列。 我计划更新另一个表中的平均值和计数,这需要很长时间才能完成 下面是更新查询数据库-MySQL,我正在使用Python连接到数据库 更新dna_统计数据 设置“U计数”= 选择计数* 来自dna B 其中B.music_id= B.标签=‘合唱’Python 如何加速MySql上数百万条记录的更新查询,python,mysql,Python,Mysql,我有一个表,它有2700万个id列。 我计划更新另一个表中的平均值和计数,这需要很长时间才能完成 下面是更新查询数据库-MySQL,我正在使用Python连接到数据库 更新dna_统计数据 设置“U计数”= 选择计数* 来自dna B 其中B.music_id= B.标签=‘合唱’ 如果music_id=916094请确保您有一个cmposite索引 table dna column ( label, music_id) 和一个索引 table dna_statistics colu
如果music_id=916094请确保您有一个cmposite索引
table dna column ( label, music_id)
和一个索引
table dna_statistics column (music_id)
正如scaisEdge已经说过的,您需要检查两个表上是否有索引 我想补充一点,在scaisEdge的回答中,复合索引中列的顺序应该与比较它们的顺序相匹配 你曾经
WHERE B.music_id = <music_id>
AND B.label = 'Chorus')
所以你们的索引应该由按音乐id、标签和非标签、音乐id顺序排列的列组成
我本想把它作为评论添加,但我离评论还有1个信誉点。对于2700万id来说,更新条款不是一个好的解决方案
改用EXCHANGE分区
您可以编写一个python脚本,使其能够成批工作