从MSSQL中的表中删除旧条目

时间:2018-09-03 06:57:08

标签: sql sql-server sql-server-ce

我的MSSQL数据库中的表已超过500MB。我想删除x个最后一个条目,因此表大小仅为100MB。这应该是每周运行一次的任务。我该怎么办?

示例:

删除旧条目之前的表: Table before deleting the old entries

删除旧条目后的表: Table after deleting the old entries

3 个答案:

答案 0 :(得分:0)

DELETE FROM TABLE_NAME WHERE date_column < '2018-01-01';

这将删除2018年1月之前输入的所有数据

答案 1 :(得分:0)

如果您要删除过去7天的数据

delete from table_name WHERE date_column >= DATEADD(day,-7, GETDATE())

答案 2 :(得分:0)

您可以使用DATALENGTH来获取特定列中数据的大小。使用窗口功能,您可以汇总运行中的DATALENGTH值。然后,您可以删除表中的所有记录,使您的记录超出期望的最大表大小。这是一个示例:

GridSearchCV

现在检查tmp中剩余的内容:10行,“ col”列的总大小与@total_bytes变量中指定的200字节大小相匹配。

更新:以下是使用示例数据的示例:

javac -cp ./ Sample2.java