我有一个包含大约 10000 个条目的大型高流量表,我需要一个命令来清除除顶部(最高 ids)n 个条目之外的所有条目。
我想要这样的东西,但它导致了语法错误:
ALTER TABLE table
PARTITION BY RANGE(id)(
PARTITION p0 VALUES LESS THAN (MAX(id)-n),
PARTITION p1 VALUES LESS THAN (MAXVALUE));
ALTER TABLE table DROP PARTITION p0;
唯一的问题是我需要清除除最高值之外的所有值,并且堆叠分区不起作用。此外,调度程序不适合我正在做的事情。如何有效地删除 Mysql 表中除 n 最高 id 行之外的所有行?