我想修剪现有的MySQL ISAM表,1000万条记录。
删除最后500万条记录的SQL语句是什么?这只是一个日志表,删除记录没有造成任何损害。
答案 0 :(得分:1)
您可以将ORDER BY和LIMIT与DELETE一起使用,以仅影响有限数量的行。你获得'最后'500万的方式取决于你所确定的记录年龄,并在你的ORDER BY中使用它。
答案 1 :(得分:1)
delete from table where id >= (select * from (select id from table order by id limit 4999999,1) as t )
答案 2 :(得分:0)
SELECT *
FROM ???
(你是桌名)ORDER BY
?????? LIMIT 5000000
这里??? =你的表名,和??????是你排序表的方式。因此,如果您有某种日期或数量的条目进行排序。
http://www.w3schools.com/sql/
我在上面的示例中使用了SELECT,因此如果它正常工作,您可以先尝试一下!如果确实有效,请将SELECT更改为DELETE :) 如果它不起作用,那么你要尝试别的东西来排序:)
答案 3 :(得分:0)
这是否有效
DELETE FROM tableA ORDER BY some_indexed_column DESC LIMIT 1000000