MySQL 使用 LIMIT 或 WHERE 删除记录
MySQL delete records using LIMIT or using WHERE
我正在尝试找到删除 MySQL 数据库中数百万条记录的最佳方法。
我有一个 table,在 ID 上有一个主键,在 'date' 列上有一个索引,我的删除查询如下:
DELETE FROM table WHERE date < '<today - 6 months>';
它在从服务器上产生了很多延迟。
我有两个选择:
DELETE FROM table WHERE date < '<today - 6 months>' LIMIT 1000;
或
包括进一步索引或使用 PK 进行删除。
我想听听你的意见。如果使用 LIMIT 不会改变工作量,或者如果使用 PK(与 LIMIT 结合使用)更好。
我正在尝试找到删除 MySQL 数据库中数百万条记录的最佳方法。 我有一个 table,在 ID 上有一个主键,在 'date' 列上有一个索引,我的删除查询如下:
DELETE FROM table WHERE date < '<today - 6 months>';
它在从服务器上产生了很多延迟。
我有两个选择:
DELETE FROM table WHERE date < '<today - 6 months>' LIMIT 1000;
或
包括进一步索引或使用 PK 进行删除。
我想听听你的意见。如果使用 LIMIT 不会改变工作量,或者如果使用 PK(与 LIMIT 结合使用)更好。