Q1:删除查询是否作为 mysql/mariadb 中的整个事务运行。因此,如果我们有 100 万行要删除,mysql/mqriadb 服务器是否会将其作为一个整体删除,或者如果在删除某些行后出现问题,则删除的行将被恢复。
Q2:我们是否需要在单个删除查询中删除行(无论需要删除多少行),还是需要在删除查询中设置限制并批量执行删除。如果需要批量处理,我们应该考虑多少(要删除的行数)。
最佳答案
在 InnoDB 中,任何大小的 DELETE
都是事务性的。删除一百万会很慢,主要是因为需要为可能的ROLLBACK
做好准备。
我将在 http://mysql.rjweb.org/doc.php/deletebig 中介绍其余问题,包括有关做什么的建议。
关于mysql - Mysql/Mariadb 删除查询是事务性的吗?及其性能巨大。行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49596374/