約 10000 のエントリを持つ大規模で高トラフィックのテーブルがあり、上位 (最高の ID ) 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 テーブルの最大 ID 行を除くすべてを効率的に削除するにはどうすればよいですか?