数据库的自动删除任务问题

时间:2010-01-09 22:00:35

标签: asp.net windows-server-2008

我正在试图弄清楚如何开发我的数据库。例如。数据库中有一些记录:

alt text http://img109.imageshack.us/img109/2962/datax.png

因此,如果服务器上的实际DateTime是2010-01-09 12:12:12,则必须删除记录no.1。

好的,但是,如果在日期库中,例如1.000.000记录?服务器必须在每秒搜索数据库以检查必须删除哪些行?它根本没有效率。

我对Microsoft Server完全陌生,所以我要感谢任何帮助

1 个答案:

答案 0 :(得分:1)

sql server中没有基于时间的触发器。因此,您将不得不将此作为一项工作或通过其他一些计划机制来实现。

您很可能需要StartDate(结束日期?)列的索引,以便您的删除查询不必执行全表扫描来查找需要删除的数据。


通常,您实际上并不是每秒都执行删除操作。相反,应用程序应该足够智能,以一种方式查询表,从而从结果集中删除这些记录。然后,您可以在其他某个时间间隔执行延迟删除以执行清理。如每小时一次或每天一次等。