20万行以上を含むテーブルを持つデータベースがあるとします。
このテーブルには、ID 1800 の固定タプルがあります。残りのタプル シーケンスは 300k+ から始まります。
このテーブルをきれいにし、ID 1800 の 1 つのレジスタを削除せずにすべてのレコードを削除する必要があります。実行できる可能性のある 3 種類のクエリを思いつきました。
DELETE FROM table WHERE id > 1800
DELETE FROM table WHERE id <> 1800
DELETE FROM table WHERE id NOT IN (1800)
最初のものは他のものよりも速い気がしますが、他のすべてのデータの ID は 1800 をはるかに超えているため、確信が持てません。
どちらが速いですか、なぜですか? また、削除できないレコードを除いて、より早く削除する方法があれば教えてください。