由于索引需要额外的维护成本,因为索引文件是单独存在的文件,所以当我们对数据的增加,修改,删除都会产生额外的对索引文件的操作,这些操作需要消耗额外的I/O,会降低增/改/删的执行效率。所以,在我们删除数据库百万级别数据的时候,查询mysql官方手册得知删除数据的速度和创建的索引数量是成正比的。
1、所以我们想要删除百万数据的时候可以先删除索引(此时大概耗时三分多种)
2、然后删除其中无用的数据(此过程需要不到两分钟)
3、删除完成后重新创建索引(此时数据较少了)创建索引也非常快,约十分钟左右。
4、与之前的直接删除绝对是要快速很多,更别说万一删除中断,一切删除会回滚。那更是坑了