草庐IT

PackDeleteCount

全部标签

php - 删除大量数据和主索引

我正在尝试从具有主/聚集索引的InnoDBMySQL表中删除大量行(>1000万,它大约是表中所有记录的1/3)。字段id是主/聚集索引,它是连续的,没有间隙。至少应该是,我中间没有删除记录。但是有可能某些插入查询失败并且innodb分配了一些未使用的id(我不确定这是不是真的)。我只删除不再需要的旧记录。表包含varchar列,因此行没有固定大小。我的第一次尝试:DELETEFROM`table`WHEREid它因大io操作而失败。似乎是mysql杀死了这个查询并回滚了所有更改。查询执行的大约时间为6小时,回滚时间大致相同。我最大的错误是事务日志大小是标准的5mb,请注意。它必须放大