我有一个用于存储事件的 SQL Server 表。
我只希望表包含最近添加的 1000 行,当插入第 1001 行时,应删除第 1 行。
我有一个 DateCreatedUTC 列和一个自动编号列......我可以编写一个查询来执行删除并触发它,INSERT
但我不知道这是最合适的解决方案。
我有一个用于存储事件的 SQL Server 表。
我只希望表包含最近添加的 1000 行,当插入第 1001 行时,应删除第 1 行。
我有一个 DateCreatedUTC 列和一个自动编号列......我可以编写一个查询来执行删除并触发它,INSERT
但我不知道这是最合适的解决方案。
您可以创建一个视图以在其余行存在时隐藏它们:
然后定期在后台作业中运行它(只需调整频率,直到您对表本身“关闭”的频率以及多少感到满意):
如果它不必一直都是 1,000 行,那么您可能会完全忘记视图,因为知道有时会有超过 1,000 行。