【发布时间】:2015-06-24 11:06:26
【问题描述】:
我有一个 cron 设置来备份生产 mysql 表,并希望定期从表中清除数据。我必须删除 id 引用的多个表中的数据。
一些背景:我需要删除大约 200 万行,我的应用程序将持续读取/写入我的数据库(但它通常不应该访问被删除的行)
我的问题是我应该如何根据以下参数构建删除查询:
- 在单个批量查询中删除与批量删除?
- 在单个事务中跨不同表删除与不使用任何事务删除。如果我在事务中使用delete即使是批量删除也会有表级锁吗?
- 我没有设置任何分区,碎片会成为问题吗?
【问题讨论】: