每天晚上我需要修剪一张表,只包含最新的20,000条记录.我可以使用子
查询:
delete from table WHERE id NOT IN (select TOP 20000 ID from table ORDER BY date_added DESC)
但这似乎效率低下,特别是如果我们后来决定保留50,000条记录.我正在使用sql 2005,并认为我可以使用ROW_NUMBER()以某种方式来做它?订购它们并删除所有ROW_NUMBER大于20,000的东西?但我无法让它发挥作用.子查询是我最好的选择还是有更好的方法?