Mysql/Mariadb 删除查询是事务性的吗?和它的性能巨大没有。行数?

pvj*_*jhs 2 mysql performance transactional mariadb sql-delete

问题 1:删除查询是否作为 mysql/mariadb 中的整个事务运行。因此,如果我们有 100 万行要删除,mysql/mqriadb 服务器是否会将其作为一个整体删除,或者如果在删除某些行后出现问题,已删除的行将被恢复。

Q2:我们是需要在单个删除查询中删除行(无论需要删除多少行)还是需要在删除查询中设置限制并批量执行删除。如果需要以多少(要删除的行数)进行批处理,我们应该考虑一下。

Ric*_*mes 5

在InnoDB中一个DELETE任何大小是事务性的。删除一百万会很慢,主要是因为需要为可能的ROLLBACK.

我在http://mysql.rjweb.org/doc.php/deletebig 中讨论了其余的问题,包括关于如何做的建议。