我正在试图弄清楚如何开发我的数据库。例如。数据库中有一些记录:
alt text http://img109.imageshack.us/img109/2962/datax.png
因此,如果服务器上的实际DateTime是2010-01-09 12:12:12,则必须删除记录no.1。
好的,但是,如果在日期库中,例如1.000.000记录?服务器必须在每秒搜索数据库以检查必须删除哪些行?它根本没有效率。
我对Microsoft Server完全陌生,所以我要感谢任何帮助
答案 0 :(得分:1)
sql server中没有基于时间的触发器。因此,您将不得不将此作为一项工作或通过其他一些计划机制来实现。
您很可能需要StartDate(结束日期?)列的索引,以便您的删除查询不必执行全表扫描来查找需要删除的数据。
通常,您实际上并不是每秒都执行删除操作。相反,应用程序应该足够智能,以一种方式查询表,从而从结果集中删除这些记录。然后,您可以在其他某个时间间隔执行延迟删除以执行清理。如每小时一次或每天一次等。