我在mysql数据库中有大约110,000,000个条目。我想将它限制在100M条目中。我如何考虑这样做分为三个步骤:
INSERT...SELECT...LIMIT 100000000
有没有办法用DELETE
查询来执行此操作?
答案 0 :(得分:1)
如果您知道确切的数字,可以删除行:
delete t from t
limit 10000000;
但是,使用您的方法可能会更快。
答案 1 :(得分:0)
不确定这是否有效,但听起来这就是你想要的:
DELETE FROM tbn_name LIMIT 100000000 - ( SELECT COUNT(*) FROM tbl_name )
答案 2 :(得分:0)
也许最好的方法是使用两个查询:首先,获取计数,然后删除正确的行数。例如:
SELECT COUNT(*) FROM t
/* 110,000,000 */
DELETE FROM t LIMIT 10000 /* (110,000,000 - 100,000,000 = 10,000) */