22,298
社区成员
发帖
与我相关
我的任务
分享
[/quote]
那就用LIMIT,我这里没MYSQL环境,就不写了。还有就是像其他几位说的,如果加WHERE条件,同时对条件字段加索引,应该能快。
DELETE TABLE WHERE ID IN (SELECT TOP 10000 ID FROM TABLE ORDER BY ID)
DELETE tableA FROM t_table_a tableA,(SELECT id FROM t_table_a WHERE is_valid = 0 LIMIT 10000) tableB
WHERE tableA.id = tableB.id--1. 增加中间表 tmp(autoId, id), 将要删除的 id 插入到 tmp 表中. autoId 为自增长列
--2. 循环删除,每次删除 100 条数据,太多可能导致卡死
DELETE FROM t
FROM t INNER JOIN tmp ON t.id=tmp.id
WHERE autoId<=100