当前位置: 代码迷 >> 综合 >> 记一次 mysql根据条件 删除大量 数据的优化
  详细解决方案

记一次 mysql根据条件 删除大量 数据的优化

热度:91   发布时间:2023-09-30 03:01:36.0

 

项目需求:所用数据库mysql,数据量表A有70W+数据量,现需删除50W+的数据量,

通过表B的某个字段作为删除条件,表A和表B之间通过其他字段关联。

delete from 表A where 条件有多个,但都是一个字段

字段的值对应表B的某个值。

1。首先试的是通过java编写代码批量删除,效果不理想,弃之。20+min

2。通过where in(表B的过滤),效果不理想,弃之。20+min

3。通过delete 表A from 表A,表B where 表A.字段=表B.字段 and 表B.其他字段(删除条件),效果可以。2min左右

注:如果要删除的表中有索引,需先删除索引在进行删除数据,数据清空后,在把索引建上。

 

 

 

 

作者:三年成才

日期:2019.7.17

篇数:1

  相关解决方案